home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-09-21 | 61.2 KB | 2,805 lines |
- * NOMBRE MAXIMUM DE FICHIERS DANS LA BOITE
- NBR_FIC EQU 1024
- * NOMBRE DE LIGNES AFFICHABLES
- MAX_Y EQU 25
-
- opt o+
-
- SECTION TEXT
- ********************************************************************************
- * RÉSERVATION DE LA MÉMOIRE PROGRAMME
- MOVE.L A7,A5
- MOVE.L 4(A5),A5
- MOVE.L $C(A5),D0
- ADD.L $14(A5),D0
- ADD.L $1C(A5),D0
- ADD.L #$100,D0
- MOVE.L D0,-(SP)
- MOVE.L A5,-(SP)
- CLR.W -(SP)
- MOVE.W #$4A,-(SP)
- TRAP #1
- LEA 12(SP),SP
- TST.W D0
- BNE INIT_ERROR
- LEA NEW_USP,A7
- * ON PRENDRE LE PLUS GRAND BLOC MÉMOIRE
- MOVE.L #-1,-(SP)
- MOVE.W #$48,-(SP)
- TRAP #1
- ADDQ.L #6,SP
- TST.L D0
- BEQ INIT_ERROR
- MOVE.L D0,D1
- AND.L #$FFFFFFF0,D0
- MOVE.L D0,MEMORY_LENGHT
- MOVE.L D0,END
- MOVE.L D0,BLEND
- * ON FAIT L'HISTORIQUE
- LEA HZOOM,A0
- MOVE.W #31,D0
- STCK: CLR.L (A0)+
- MOVE.L D1,(A0)+
- DBRA.W D0,STCK
- * ON LE RÉSERVE
- MOVE.L D1,-(SP)
- MOVE.W #$48,-(SP)
- TRAP #1
- ADDQ.L #6,SP
- TST.L D0
- BMI.S INIT_ERROR
- MOVE.L D0,MEMORY_START
-
- * ON LA VIDE
- MOVE.L D0,A0
- MOVE.L MEMORY_LENGHT,D0
- LSR.L #2,D0
- CLEAR: CLR.L (A0)+
- SUBQ.L #1,D0
- BNE.S CLEAR
-
- * PATH
- MOVE.W #256*5+5,PATH
- MOVE.L #".\*.",PATH+2
- MOVE.L #"*"*256*65536,PATH+6
-
- * POINTEUR DE SOURIS
- MOVE.W #320,MOUSEX
- MOVE.W #240,MOUSEY
- * ON EXÉCUTE LE PROGRAMME
- DC.W $A000
- DC.W $A00A
-
- PEA PROGRAMME
- MOVE.W #38,-(SP)
- TRAP #14
- ADDQ.L #6,SP
-
- DC.W $A009
-
- * ON LIBèRE LA RAM
- MOVE.L MEMORY_START,-(SP)
- MOVE.W #$49,-(SP)
- TRAP #1
- ADDQ.L #6,SP
- TST.L D0
- BMI.S INIT_ERROR
- * EN REVOIR
- PEA SALUT
- MOVE.W #9,-(SP)
- TRAP #1
- ADDQ.L #6,SP
- * ON QUITTE
- CLR.W -(SP)
- TRAP #1
-
- INIT_ERROR: PEA ERROR_TXT
- MOVE.W #9,-(SP)
- TRAP #1
- MOVE.W #7,-(SP)
- TRAP #1
- ADDQ.L #8,SP
- CLR.W -(SP)
- TRAP #1
- ********************************************************************************
- SALUT: DC.B 27,"E",27,"f"
- DC.B "L'AUTEUR VOUS REMERCIE D'UTILISER THE PURE DIGITAL SOUND!",13,10
- DC.B " * SIMON VOLANT *",13,10
- DC.B " * 8, RUE JEAN RACINE OU 2, RUE DE MACON *",13,10
- DC.B " * 02190 GUIGNICOURT (OR) 51100 REIMS *",13,10
- DC.B " * FRANCE FRANCE *",13,10
- DC.B "IF YOU WANT AN ENGLISH VERSION OF THIS SOFTWARE, WRITE!!!",13,10
- DC.B 7,0
- EVEN
- ********************************************************************************
- SYS_OPTION: BSR NO_KEY
- CMPI.W #1,RETURN
- BEQ.S SETP
- CMPI.W #2,RETURN
- BEQ.S SAVE
- CMPI.W #3,RETURN
- BEQ.S LOAD
- CMPI.W #4,RETURN
- BEQ.S EXPORT
- CMPI.W #5,RETURN
- BEQ.S DELETE
- BRA PROGRAMME
-
- SETP: BSR SET_PATH
- BRA PROGRAMME
-
- SAVE: BSR VERIF_PATH
- BSR GET_FNAME
- TST.B FILE_NAME+2
- BEQ PROGRAMME
- BSR FSAVE
- BRA PROGRAMME
-
- EXPORT: BSR VERIF_PATH
- BSR BACKUP
- BSR FSAVE
- BSR FCONVERT
- BSR GET_FNAME
- TST.B FILE_NAME+2
- BEQ PROGRAMME
- BSR FSAVE
- MOVE.L EX_BLEND,BLEND
- BSR BACKUP
- BSR FLOAD
- BSR FDELETE
- BRA PROGRAMME
-
- LOAD: BSR VERIF_PATH
- BSR FILE_SELECT
- TST.B FILE_NAME+2
- BEQ PROGRAMME
- BSR FLOAD
- BRA PROGRAMME
-
- DELETE: BSR VERIF_PATH
- BSR FILE_SELECT
- TST.B FILE_NAME+2
- BEQ PROGRAMME
- BSR FDELETE
- BRA PROGRAMME
-
-
- NO_KEY: MOVE.W #$FF,-(SP)
- MOVE.W #6,-(SP)
- TRAP #1
- ADDQ.L #4,SP
- TST D0
- BNE.S NO_KEY
- MOVE.W #49,D0
- .WT: STOP #$2300
- DBRA.W D0,.WT
- RTS
- ********************************************************************************
- * REGLAGE DU CHEMIN DES ENTRES/SORTIES
- SET_PATH: MOVE.W #80*256,PATH
- PEA PATH_ENT
- MOVE.W #9,-(SP)
- TRAP #1
- ADDQ.L #6,SP
- PEA PATH+2
- MOVE.W #9,-(SP)
- TRAP #1
- ADDQ.L #6,SP
- PEA PATH_TXT
- MOVE.W #9,-(SP)
- TRAP #1
- ADDQ.L #6,SP
- PEA PATH
- MOVE.W #$A,-(SP)
- TRAP #1
- ADDQ.L #6,SP
- CLR.W D0
- LEA PATH+2,A0
- MOVE.B -1(A0),D0
- BEQ.S VERIF_PATH
- CLR.B (A0,D0.W)
- * ON VÉRIFIE
- VERIF_PATH: MOVE.W #$FF,-(SP)
- PEA PATH+2
- MOVE.W #$4E,-(SP)
- TRAP #1
- ADDQ.L #8,SP
- TST D0
- BEQ.S .OK
-
- PEA PATH_ERROR_TXT
- MOVE.W #9,-(SP)
- TRAP #1
- MOVE.W #7,-(SP)
- TRAP #1
- ADDQ.L #8,SP
- BRA.S SET_PATH
- .OK: RTS
- ********************************************************************************
- * ON PREND LE NOM DU FICHIER
- GET_FNAME: MOVE.W #16*256,FNAME
- PEA FNAME_ENT
- MOVE.W #9,-(SP)
- TRAP #1
- ADDQ.L #6,SP
- PEA FNAME+2
- MOVE.W #9,-(SP)
- TRAP #1
- ADDQ.L #6,SP
- PEA FNAME_TXT
- MOVE.W #9,-(SP)
- TRAP #1
- ADDQ.L #6,SP
- PEA FNAME
- MOVE.W #$A,-(SP)
- TRAP #1
- ADDQ.L #6,SP
- CLR.W D0
- LEA FNAME+2,A0
- MOVE.B -1(A0),D0
- BEQ.S .FIN
- CLR.B (A0,D0.W)
- * ON VÉRIFIE
- .FIN: LEA FILE_NAME,A0
- LEA PATH+2,A1
- CLR.W D0
- MOVE.B PATH+1,D0
- SUBQ.B #1,D0
- .BCL2: MOVE.B (A1)+,(A0)+
- DBRA.W D0,.BCL2
- .BCL3: CLR.B (A0)
- SUBQ.L #1,A0
- CMPI.B #$5C,(A0)
- BNE.S .BCL3
- ADDQ.L #1,A0
-
- LEA FNAME+2,A1
- .BCL1: MOVE.B (A1)+,(A0)+
- BNE.S .BCL1
- RTS
- ********************************************************************************
- FSAVE: CLR.W -(SP)
- PEA FILE_NAME
- MOVE.W #$3C,-(SP)
- TRAP #1
- ADDQ.L #8,SP
- MOVE.W D0,HANDLE
- BMI.S .SAVE_ERROR2
- MOVE.L MEMORY_START,A0
- ADD.L BLSTART,A0
- MOVE.L BLEND,D0
- SUB.L BLSTART,D0
- MOVE.L A0,-(SP)
- MOVE.L D0,-(SP)
- MOVE.W HANDLE,-(SP)
- MOVE.W #$40,-(SP)
- TRAP #1
- LEA 12(SP),SP
- TST.L D0
- BMI.S .SAVE_ERROR1
- MOVE.W HANDLE,-(SP)
- MOVE.W #$3E,-(SP)
- TRAP #1
- ADDQ.L #4,SP
- RTS
- .SAVE_ERROR1: MOVE.W HANDLE,-(SP)
- MOVE.W #$3E,-(SP)
- TRAP #1
- ADDQ.L #4,SP
- .SAVE_ERROR2: PEA FILE_NAME
- MOVE.W #$41,-(SP)
- TRAP #1
- PEA SAVE_ERROR_TXT
- MOVE.W #9,-(SP)
- TRAP #1
- MOVE.W #7,-(SP)
- TRAP #1
- LEA 14(SP),SP
- RTS
- ********************************************************************************
- FDELETE: PEA FILE_NAME
- MOVE.W #$41,-(SP)
- TRAP #1
- ADDQ.L #6,SP
- TST D0
- BEQ.S .FIN
- PEA DELETE_ERROR_TXT
- MOVE.W #9,-(SP)
- TRAP #1
- MOVE.W #7,-(SP)
- TRAP #1
- ADDQ.L #8,SP
- .FIN: RTS
- ********************************************************************************
- BACKUP:
- PEA BACKUP_TXT
- MOVE.W #9,-(SP)
- TRAP #1
- ADDQ.L #6,SP
-
- LEA FILE_NAME,A0
- LEA PATH+2,A1
- CLR.W D0
- MOVE.B PATH+1,D0
- SUBQ.B #1,D0
- .BCL2: MOVE.B (A1)+,(A0)+
- DBRA.W D0,.BCL2
- .BCL3: CLR.B (A0)
- SUBQ.L #1,A0
- CMPI.B #$5C,(A0)
- BNE.S .BCL3
- ADDQ.L #1,A0
- LEA FBACKUP,A1
- .BCL1: MOVE.B (A1)+,(A0)+
- BNE.S .BCL1
- RTS
- ********************************************************************************
- FLOAD: CLR.W -(SP)
- PEA FILE_NAME
- MOVE.W #$3D,-(SP)
- TRAP #1
- ADDQ.L #8,SP
- MOVE.W D0,HANDLE
- BMI.S .LOAD_ERROR2
- MOVE.L MEMORY_START,A0
- ADD.L BLSTART,A0
- MOVE.L BLEND,D0
- SUB.L BLSTART,D0
- MOVE.L A0,-(SP)
- MOVE.L D0,-(SP)
- MOVE.W HANDLE,-(SP)
- MOVE.W #$3F,-(SP)
- TRAP #1
- LEA 12(SP),SP
- TST.L D0
- BMI.S .LOAD_ERROR1
- ADD.L BLSTART,D0
- MOVE.L D0,BLEND
- MOVE.W HANDLE,-(SP)
- MOVE.W #$3E,-(SP)
- TRAP #1
- ADDQ.L #4,SP
- RTS
- .LOAD_ERROR1: MOVE.W HANDLE,-(SP)
- MOVE.W #$3E,-(SP)
- TRAP #1
- ADDQ.L #4,SP
- .LOAD_ERROR2: PEA FILE_NAME
- MOVE.W #$41,-(SP)
- TRAP #1
- PEA LOAD_ERROR_TXT
- MOVE.W #9,-(SP)
- TRAP #1
- MOVE.W #7,-(SP)
- TRAP #1
- LEA 14(SP),SP
- RTS
- ********************************************************************************
- * SELECTIONNEUR DE FICHIER
- FILE_SELECT:
- * ON EFFACE
- CLR.W STARTBIS
- MOVE.W #NBR_FIC-1,D0
- LEA DIR,A0
- .BCL: CLR.L (A0)+
- CLR.L (A0)+
- CLR.L (A0)+
- CLR.L (A0)+
- DBRA.W D0,.BCL
- * RECUPERER LES DONNEES SYSTEMES
- PEA DTA
- MOVE.W #$1A,-(SP)
- TRAP #1
- ADDQ.L #6,SP
- * FSFIRST: LA PREMIERE GIF DU REPERTOIRE
- MOVE.W #$27,-(SP)
- PEA PATH+2
- MOVE.W #$4E,-(SP)
- TRAP #1
- ADDQ.L #8,SP
- TST D0
- BMI .NOTHING
- LEA DIR,A0
- .NEXT: LEA DTA+30,A1
- * SUIVANT ???
- MOVE.L (A1),(A0)+
- CLR.L (A1)+
- MOVE.L (A1),(A0)+
- CLR.L (A1)+
- MOVE.L (A1),(A0)+
- CLR.L (A1)+
- CLR.L (A0)+
- MOVE.L A0,-(SP)
- MOVE.W #$4F,-(SP)
- TRAP #1
- ADDQ.L #2,SP
- MOVE.L (SP)+,A0
- * OUI, ON FAIT LE SAUT
- TST D0
- BPL.S .NEXT
- * LE TRI (A BULLE) DES FICHIERS
- .BULLE1: LEA DIR,A0
- MOVEQ #-1,D6
- .BULLE2: CLR.L D0
- CLR.L D1
- MOVE.L A0,-(SP)
- MOVE.W #13,D2
- .BULLE3: MOVE.B 16(A0),D1
- BEQ.S .NO_SWAP
- MOVE.B (A0)+,D0
- CMP.B D0,D1
- BHI.S .NO_SWAP
- BCS.S .SWP
- DBRA.W D2,.BULLE3
- .SWP: MOVE.L (SP)+,A0
- MOVE.L 16(A0),D1
- MOVE.L (A0),16(A0)
- MOVE.L D1,(A0)+
- MOVE.L 16(A0),D1
- MOVE.L (A0),16(A0)
- MOVE.L D1,(A0)+
- MOVE.L 16(A0),D1
- MOVE.L (A0),16(A0)
- MOVE.L D1,(A0)
- SUBQ.L #8,A0
- CLR.L D6
- MOVE.L A0,-(SP)
- .NO_SWAP: MOVE.L (SP)+,A0
- LEA 16(A0),A0
- TST 16(A0)
- BNE.S .BULLE2
- * Y-A-T'IL EU DES CHANGEMENT ??? OUI, ON SAUTE
- TST D6
- BEQ.S .BULLE1
- * LE SELECTEUR DE FICHIER (QUI TUE)
- .ALL: PEA SELECTEUR
- MOVE.W #9,-(SP)
- TRAP #1
- ADDQ.L #6,SP
-
- PEA PATH+2
- MOVE.W #9,-(SP)
- TRAP #1
- ADDQ.L #6,SP
-
- MOVE.B #">",TXT_POS
- * ON AFFICHE LES FICHIERS
- LEA DIR,A6
- CLR.L D0
- MOVE.W STARTBIS,D0
- LSL.W #4,D0
- ADD.L D0,A6
- .RETRY: TST ((MAX_Y-2)*16*6)-16(A6)
- BNE.S .KK
- SUBQ.W #1,STARTBIS
- BMI.S .TT
- LEA -16(A6),A6
- BRA.S .RETRY
- .TT: CLR.W STARTBIS
- LEA DIR,A6
- .KK: MOVE.B #32,X_TXT
- MOVE.B #32+2,Y_TXT
- .BCL1: MOVE.L A6,-(SP)
- PEA POS_TXT
- MOVE.W #9,-(SP)
- TRAP #1
- ADDQ.L #6,SP
- MOVE.L A6,-(SP)
- MOVE.W #9,-(SP)
- TRAP #1
- ADDQ.L #6,SP
- MOVE.B Y_TXT,D0
- ADDQ.B #1,D0
- CMPI.B #32+MAX_Y,D0
- BNE.S .NO_COL
- MOVE.B #32+2,D0
- MOVE.B X_TXT,D1
- ADD.B #13,D1
- CMPI.B #110,D1
- BNE.S .CONT
- MOVE.L (SP)+,A6
- BRA.S .SELECT
- .CONT: MOVE.B D1,X_TXT
- .NO_COL: MOVE.B D0,Y_TXT
- MOVE.L (SP)+,A6
- LEA 16(A6),A6
- BRA.S .BCL1
- * SELECTEUR EN LUI-MEME
- .SELECT: PEA SEL_TXT
- MOVE.W #9,-(SP)
- TRAP #1
- ADDQ.L #6,SP
- .KEY: MOVE.W #7,-(SP)
- TRAP #1
- ADDQ.L #2,SP
- MOVE.L D0,-(SP)
- MOVE.B #"|",TXT_POS
- PEA SEL_TXT
- MOVE.W #9,-(SP)
- TRAP #1
- ADDQ.L #6,SP
- MOVE.L (SP)+,D0
- .K_PLUS: CMPI.B #"+",D0
- BNE.S .K_MOINS
- ADD.W #(MAX_Y-2)*6,STARTBIS
- BRA .ALL
- .K_MOINS: CMPI.B #"-",D0
- BNE.S .K_HAUT
- SUB.W #(MAX_Y-2)*6,STARTBIS
- BPL.S .KK0
- CLR.W STARTBIS
- .KK0: BRA .ALL
- .K_HAUT: SWAP D0
- CMPI.B #$48,D0
- BNE.S .K_BAS
- MOVE.B Y_POS,D1
- SUBQ.B #1,D1
- CMPI.B #32+2,D1
- BPL.S .KK1
- MOVE.B #32+2,D1
- .KK1: MOVE.B D1,Y_POS
- .K_BAS: CMPI.B #$50,D0
- BNE.S .K_DROITE
- MOVE.B Y_POS,D1
- ADDQ.B #1,D1
- CMPI.B #32+MAX_Y-1,D1
- BMI.S .KK2
- MOVE.B #32+MAX_Y-1,D1
- .KK2: MOVE.B D1,Y_POS
- .K_DROITE: CMPI.B #$4D,D0
- BNE.S .K_GAUCHE
- MOVE.B X_POS,D1
- ADD.B #13,D1
- CMPI.B #32+65,D1
- BMI.S .KK3
- MOVE.B #32+65,D1
- .KK3: MOVE.B D1,X_POS
- .K_GAUCHE: CMPI.B #$4B,D0
- BNE.S .K_ENT
- MOVE.B X_POS,D1
- SUB.B #13,D1
- CMPI.B #32,D1
- BPL.S .KK4
- MOVE.B #32,D1
- .KK4: MOVE.B D1,X_POS
- .K_ENT: CMPI.B #$1C,D0
- BNE.S .K_ESC
- BRA.S .OK
- .K_ESC: CMPI.B #$01,D0
- BNE.S .K_SPC
- BRA .ABORT
- .K_SPC: CMPI.B #$39,D0
- BNE.S .K_END
- BRA FILE_SELECT
- .K_END: MOVE.B #">",TXT_POS
- PEA SEL_TXT
- MOVE.W #9,-(SP)
- TRAP #1
- ADDQ.L #6,SP
- BRA .KEY
- .OK: LEA FILE_NAME,A0
- LEA PATH+2,A1
- CLR.W D0
- MOVE.B PATH+1,D0
- SUBQ.B #1,D0
- .BCL2: MOVE.B (A1)+,(A0)+
- DBRA.W D0,.BCL2
- .BCL3: CLR.B (A0)
- SUBQ.L #1,A0
- CMPI.B #$5C,(A0)
- BNE.S .BCL3
- ADDQ.L #1,A0
- LEA DIR,A1
- CLR.L D0
- MOVE.B X_POS,D0
- SUB.B #32,D0
- DIVU.W #13,D0
- MULU.W #MAX_Y-2,D0
- CLR.L D1
- MOVE.B Y_POS,D1
- SUB.B #32+2,D1
- ADD.W D1,D0
- ADD.W STARTBIS,D0
- LSL.L #4,D0
- ADD.L D0,A1
- TST.B (A1)
- BEQ.S .ABORT
- LEA FNAME+2,A2
- .BCL4: MOVE.B (A1),(A0)+
- MOVE.B (A1)+,(A2)+
- BNE.S .BCL4
- RTS
- .ABORT: CLR.L FILE_NAME
- RTS
- .NOTHING: PEA NOTHING_TXT
- MOVE.W #9,-(SP)
- TRAP #1
- MOVE.W #7,-(SP)
- TRAP #1
- ADDQ.L #8,SP
- RTS
- ********************************************************************************
- FCONVERT:
- MOVE.L BLEND,EX_BLEND
-
- * FRÉQUENCE DE DESTINATION
- .P0:
- PEA FRQ_TXT
- MOVE.W #9,-(SP)
- TRAP #1
- ADDQ.L #6,SP
- MOVE.W #6*256,REP
- PEA REP
- MOVE.W #10,-(SP)
- TRAP #1
- ADDQ.L #6,SP
-
- BSR REP_CONV
- CMPI.W #-1,D0
- BEQ.S FCONVERT
- MOVE.W D0,FRQ_D
- BEQ .P1
- * FREQUENCE SOURCE
- CLR.W D0
- MOVE.B $FFFF8935.W,D0
- LEA FRQ,A0
- MOVE.W (A0,D0.W*2),FRQ_S
- * ON CONVERTIT
- CLR.L D0
- CLR.L D1
- * UNE PARTIE ENTIERE
- MOVE.W FRQ_S,D0
- MOVE.W FRQ_D,D1
- DIVU.W D1,D0
- * ON CHERCHE UN RESTE
- CLR.L D2
- MOVE.W D0,D2
- MULU.W FRQ_D,D2
- MOVE.W FRQ_S,D1
- SUB.W D2,D1
- SWAP D1
- DIVU.W FRQ_D,D1
- * LET'S GO!
- MOVE.L MEMORY_START,A0
- ADD.L BLSTART,A0 *SOURCE
- MOVE.L A0,A1 *DESTINATION
- MOVE.L BLEND,D7 *BOUCLE PRINCIPALE
- SUB.L BLSTART,D7
- CLR.L D3 *RESTE
- .BCL0: CLR.L D4 *GAUCHE
- CLR.L D5 *DROITE
- MOVE.L D5,A6
- MOVE.W D0,D6
- .BCL1: CLR.L D2
- MOVE.W (A0)+,D2 *ON ADD
- EXT.L D2
- ADD.L D2,D4
- CLR.L D2
- MOVE.W (A0)+,D2 *IDEM
- EXT.L D2
- ADD.L D2,D5
- SUBQ.L #4,D7
- SUBQ.W #1,D6
- BNE.S .BCL1
- MOVE.W D0,D6
- ADD.W D1,D3
- BCC.S .C2
- .C1: CLR.L D2
- MOVE.W (A0)+,D2 *ON ADD
- EXT.L D2
- ADD.L D2,D4
- CLR.L D2
- MOVE.W (A0)+,D2 *IDEM
- EXT.L D2
- ADD.L D2,D5
- SUBQ.L #4,D7
- ADDQ.W #1,D6
- .C2: DIVS.W D6,D4
- DIVS.W D6,D5
- MOVE.W D4,(A1)+
- MOVE.W D5,(A1)+
- TST.L D7
- BPL.S .BCL0
- SUBQ.L #4,A1
- SUB.L MEMORY_START,A1
- MOVE.L A1,BLEND
-
- .P1: PEA V_TXT
- MOVE.W #9,-(SP)
- TRAP #1
- ADDQ.L #6,SP
- MOVE.W #1,-(SP)
- TRAP #1
- ADDQ.L #2,SP
-
- MOVE.L MEMORY_START,A0
- ADD.L BLSTART,A0 *SOURCE
- MOVE.L A0,A1 *DESTINATION
- MOVE.L BLEND,D7 *BOUCLE PRINCIPALE
- SUB.L BLSTART,D7
- CMPI.B #"m",D0
- BEQ.S .MONO
- CMPI.B #"M",D0
- BEQ.S .MONO
- CMPI.B #"g",D0
- BEQ.S .GAUCHE
- CMPI.B #"G",D0
- BEQ.S .GAUCHE
- CMPI.B #"d",D0
- BEQ.S .DROITE
- CMPI.B #"D",D0
- BEQ.S .DROITE
-
-
- .P3: PEA B_TXT
- MOVE.W #9,-(SP)
- TRAP #1
- ADDQ.L #6,SP
- MOVE.W #1,-(SP)
- TRAP #1
- ADDQ.L #2,SP
-
- MOVE.L MEMORY_START,A0
- ADD.L BLSTART,A0 *SOURCE
- MOVE.L A0,A1 *DESTINATION
- MOVE.L BLEND,D7 *BOUCLE PRINCIPALE
- SUB.L BLSTART,D7
- CMPI.B #"8",D0
- BEQ.S .8BITS
-
- RTS
-
- .MONO: CLR.L D1
- CLR.L D2
- MOVE.W (A0)+,D1
- EXT.L D1
- MOVE.W (A0)+,D2
- EXT.L D2
- ADD.L D2,D1
- LSR.L #1,D1
- MOVE.W D1,(A1)+
- SUBQ.L #4,D7
- BNE.S .MONO
- SUBQ.L #2,A1
- SUB.L MEMORY_START,A1
- MOVE.L A1,BLEND
- BRA.S .P3
-
- .GAUCHE: MOVE.W (A0)+,(A1)+
- CLR.W (A0)+
- SUBQ.L #4,D7
- BNE.S .GAUCHE
- SUBQ.L #2,A1
- SUB.L MEMORY_START,A1
- MOVE.L A1,BLEND
- BRA.S .P3
-
- .DROITE: CLR.W (A0)+
- MOVE.W (A0)+,(A1)+
- SUBQ.L #4,D7
- BNE.S .DROITE
- SUBQ.L #2,A1
- SUB.L MEMORY_START,A1
- MOVE.L A1,BLEND
- BRA .P3
-
-
- .8BITS: MOVE.B (A0)+,(A1)+
- CLR.B (A0)+
- SUBQ.L #2,D7
- BNE.S .8BITS
- SUBQ.L #1,A1
- SUB.L MEMORY_START,A1
- MOVE.L A1,BLEND
-
- PEA S_TXT
- MOVE.W #9,-(SP)
- TRAP #1
- ADDQ.L #6,SP
- MOVE.W #1,-(SP)
- TRAP #1
- ADDQ.L #2,SP
-
- MOVE.L MEMORY_START,A0
- ADD.L BLSTART,A0 *SOURCE
- MOVE.L A0,A1 *DESTINATION
- MOVE.L BLEND,D7 *BOUCLE PRINCIPALE
- SUB.L BLSTART,D7
- CMPI.B #"n",D0
- BEQ.S .NON_SIGNE
- CMPI.B #"N",D0
- BEQ.S .NON_SIGNE
- RTS
-
- .NON_SIGNE: EOR.B #128,(A0)+
- SUBQ.L #1,D7
- BNE.S .NON_SIGNE
- RTS
-
- REP_CONV: CLR.W D0
- LEA REP+2,A0
- .NEXT: TST.B (A0)
- BEQ.S .FIN
- CLR.W D1
- MOVE.B (A0)+,D1
- SUB.W #"0",D1
- BMI.S .ERROR
- CMPI.B #10,D1
- BPL.S .ERROR
- MULU.W #10,D0
- ADD.W D1,D0
- BRA.S .NEXT
- .FIN: RTS
- .ERROR: MOVE.W #-1,D0
- RTS
-
-
- FRQ_TXT: DC.B 27,"E",27,"e"
- DC.B "****************************************************",13,10
- DC.B "*** EXPORTATION DU FICHIER: FAITES VOTRE FORMAT! ***",13,10
- DC.B "****************************************************",13,10,10
- DC.B "1) ENTREZ LA FREQUENCE EN HERTZ (Ex:25033) OU RIEN POUR GARDER L'ORIGINALE",13,10
- DC.B 0
- EVEN
- V_TXT: DC.B 13,10,10
- DC.B "2) SON (M)ono / (G)auche seulement / (D)roite seulement OU RIEN POUR STEREO",13,10
- DC.B 0
- EVEN
- B_TXT: DC.B 13,10,10
- DC.B "3) SON (8) BITS OU RIEN POUR 16 BITS",13,10
- DC.B 0
- EVEN
- S_TXT: DC.B 13,10,10
- DC.B "4) SON (N)on signé OU RIEN POUR SIGNÉ",13,10
- DC.B 0
- EVEN
-
- REP: DS.B 8
- EVEN
- FRQ: DC.W 0,49170,32780,24585,19668,16390,0,12292,0,9834,0,8195
- FRQ_S: DC.W 60000
- FRQ_D: DC.W 59000
- EX_BLEND: DC.L 0
- ********************************************************************************
- PROGRAMME: BSR NO_KEY
- MOVE.L SP,OLD_SP
- LEA NEW_SP,SP
- BSR.S SAVEVECTORS
- BSR MAIN
- DBUG: BSR RES_PAL
- BSR RESTOREVECTORS
- MOVE.L OLD_SP,SP
- MOVE.W #$2300,SR
- TST RETURN
- BNE SYS_OPTION
- RTS
- DEBUGGER: MOVE.W #$2700,SR
- MOVE.L OLD_SP,SP
- BRA.S DBUG
- SAVEVECTORS: MOVE.W #$2700,SR
- LEA SAVE_ALL,A6
- MOVE.B $FFFF8206.W,(A6)+
- MOVE.B $FFFF820A.W,(A6)+
- MOVE.B $FFFF8260.W,(A6)+
- MOVE.B $FFFF8265.W,(A6)+
- MOVE.B $FFFF8201.W,(A6)+
- MOVE.B $FFFF8203.W,(A6)+
- MOVE.B $FFFF820D.W,(A6)+
- CLR.B (A6)+
- MOVE.W $FFFF8280.W,(A6)+
- MOVE.W $FFFF82A0.W,(A6)+
- MOVE.W $FFFF820E.W,(A6)+
- MOVE.W $FFFF8210.W,(A6)+
- MOVE.W $FFFF8266.W,(A6)+
- MOVE.W $FFFF8282.W,(A6)+
- MOVE.W $FFFF8284.W,(A6)+
- MOVE.W $FFFF8286.W,(A6)+
- MOVE.W $FFFF8288.W,(A6)+
- MOVE.W $FFFF828A.W,(A6)+
- MOVE.W $FFFF828C.W,(A6)+
- MOVE.W $FFFF828E.W,(A6)+
- MOVE.W $FFFF8290.W,(A6)+
- MOVE.W $FFFF82A2.W,(A6)+
- MOVE.W $FFFF82A4.W,(A6)+
- MOVE.W $FFFF82A6.W,(A6)+
- MOVE.W $FFFF82A8.W,(A6)+
- MOVE.W $FFFF82AA.W,(A6)+
- MOVE.W $FFFF82AC.W,(A6)+
- MOVE.W $FFFF82AE.W,(A6)+
- MOVE.W $FFFF82B0.W,(A6)+
- MOVE.W $FFFF82C0.W,(A6)+
- MOVE.W $FFFF82C2.W,(A6)+
- MOVE.B $FFFFFA07.W,(A6)+
- MOVE.B $FFFFFA09.W,(A6)+
- MOVE.B $FFFFFA13.W,(A6)+
- MOVE.B $FFFFFA15.W,(A6)+
- MOVE.B $FFFFFA17.W,(A6)+
- MOVE.B $FFFFFA19.W,(A6)+
- MOVE.B $FFFFFA1B.W,(A6)+
- MOVE.L $68.W,(A6)+
- MOVE.L $70.W,(A6)+
- MOVE.L $118.W,(A6)+
- MOVE.L $120.W,(A6)+
- MOVE.L $134.W,(A6)+
- MOVE.L $08.W,(A6)+
- MOVE.L $0C.W,(A6)+
- MOVE.L $10.W,(A6)+
- MOVE.L $14.W,(A6)+
- MOVE.L $18.W,(A6)+
- MOVE.L $1C.W,(A6)+
- MOVE.L $20.W,(A6)+
- MOVE.L $24.W,(A6)+
- MOVE.L $28.W,(A6)+
- MOVE.L $2C.W,(A6)+
- MOVE.L $3C.W,(A6)+
- MOVE.L $80.W,(A6)+
- MOVE.L $84.W,(A6)+
- MOVE.L $88.W,(A6)+
- MOVE.L $8C.W,(A6)+
- MOVE.L $90.W,(A6)+
- MOVE.L $94.W,(A6)+
- MOVE.L $98.W,(A6)+
- MOVE.L $9C.W,(A6)+
- MOVE.L $A0.W,(A6)+
- MOVE.L $A4.W,(A6)+
- MOVE.L $A8.W,(A6)+
- MOVE.L $AC.W,(A6)+
- MOVE.L $B0.W,(A6)+
- MOVE.L $B4.W,(A6)+
- MOVE.L $B8.W,(A6)+
- MOVE.L $BC.W,(A6)+
- LEA DEBUGGER,A0
- MOVE.L A0,$08.W
- MOVE.L A0,$0C.W
- MOVE.L A0,$10.W
- MOVE.L A0,$14.W
- MOVE.L A0,$18.W
- MOVE.L A0,$1C.W
- MOVE.L A0,$20.W
- MOVE.L A0,$24.W
- MOVE.L A0,$28.W
- MOVE.L A0,$2C.W
- MOVE.L A0,$3C.W
- MOVE.L A0,$80.W
- MOVE.L A0,$84.W
- MOVE.L A0,$88.W
- MOVE.L A0,$8C.W
- MOVE.L A0,$90.W
- MOVE.L A0,$94.W
- MOVE.L A0,$98.W
- MOVE.L A0,$9C.W
- MOVE.L A0,$A0.W
- MOVE.L A0,$A4.W
- MOVE.L A0,$A8.W
- MOVE.L A0,$AC.W
- MOVE.L A0,$B0.W
- MOVE.L A0,$B4.W
- MOVE.L A0,$B8.W
- MOVE.L A0,$BC.W
- MOVE.L #IT_NULL,$70.W
- CLR.W D0
- MOVE.B D0,$FFFFFA07.W
- MOVE.B D0,$FFFFFA09.W
- MOVE.B D0,$FFFFFA13.W
- MOVE.B D0,$FFFFFA15.W
- BCLR.B #3,$FFFFFA17.W
- BRA KFLUSH
- ********************************************************************************
- RESTOREVECTORS: MOVE.W #$2700,SR
- CLR.W D0
- MOVE.B D0,$FFFFFA07.W
- MOVE.B D0,$FFFFFA09.W
- MOVE.B D0,$FFFFFA13.W
- MOVE.B D0,$FFFFFA15.W
- MOVE.L #IT_NULL,$70.W
- LEA SAVE_ALL,A6
- STOP #$2300
- STOP #$2300
- MOVE.B (A6)+,$FFFF8206.W
- MOVE.B (A6)+,$FFFF820A.W
- MOVE.B (A6)+,$FFFF8260.W
- MOVE.B (A6)+,$FFFF8265.W
- MOVE.B (A6)+,$FFFF8201.W
- MOVE.B (A6)+,$FFFF8203.W
- MOVE.B (A6)+,$FFFF820D.W
- CLR.B (A6)+
- MOVE.W (A6)+,$FFFF8280.W
- MOVE.W (A6)+,$FFFF82A0.W
- MOVE.W (A6)+,$FFFF820E.W
- MOVE.W (A6)+,$FFFF8210.W
- MOVE.W (A6)+,$FFFF8266.W
- MOVE.W (A6)+,$FFFF8282.W
- MOVE.W (A6)+,$FFFF8284.W
- MOVE.W (A6)+,$FFFF8286.W
- MOVE.W (A6)+,$FFFF8288.W
- MOVE.W (A6)+,$FFFF828A.W
- MOVE.W (A6)+,$FFFF828C.W
- MOVE.W (A6)+,$FFFF828E.W
- MOVE.W (A6)+,$FFFF8290.W
- MOVE.W (A6)+,$FFFF82A2.W
- MOVE.W (A6)+,$FFFF82A4.W
- MOVE.W (A6)+,$FFFF82A6.W
- MOVE.W (A6)+,$FFFF82A8.W
- MOVE.W (A6)+,$FFFF82AA.W
- MOVE.W (A6)+,$FFFF82AC.W
- MOVE.W (A6)+,$FFFF82AE.W
- MOVE.W (A6)+,$FFFF82B0.W
- MOVE.W (A6)+,$FFFF82C0.W
- MOVE.W (A6)+,$FFFF82C2.W
- MOVE.B (A6)+,$FFFFFA07.W
- MOVE.B (A6)+,$FFFFFA09.W
- MOVE.B (A6)+,$FFFFFA13.W
- MOVE.B (A6)+,$FFFFFA15.W
- MOVE.B (A6)+,$FFFFFA17.W
- MOVE.B (A6)+,$FFFFFA19.W
- MOVE.B (A6)+,$FFFFFA1B.W
- MOVE.L (A6)+,$68.W
- MOVE.L (A6)+,$70.W
- MOVE.L (A6)+,$118.W
- MOVE.L (A6)+,$120.W
- MOVE.L (A6)+,$134.W
- MOVE.L (A6)+,$08.W
- MOVE.L (A6)+,$0C.W
- MOVE.L (A6)+,$10.W
- MOVE.L (A6)+,$14.W
- MOVE.L (A6)+,$18.W
- MOVE.L (A6)+,$1C.W
- MOVE.L (A6)+,$20.W
- MOVE.L (A6)+,$24.W
- MOVE.L (A6)+,$28.W
- MOVE.L (A6)+,$2C.W
- MOVE.L (A6)+,$3C.W
- MOVE.L (A6)+,$80.W
- MOVE.L (A6)+,$84.W
- MOVE.L (A6)+,$88.W
- MOVE.L (A6)+,$8C.W
- MOVE.L (A6)+,$90.W
- MOVE.L (A6)+,$94.W
- MOVE.L (A6)+,$98.W
- MOVE.L (A6)+,$9C.W
- MOVE.L (A6)+,$A0.W
- MOVE.L (A6)+,$A4.W
- MOVE.L (A6)+,$A8.W
- MOVE.L (A6)+,$AC.W
- MOVE.L (A6)+,$B0.W
- MOVE.L (A6)+,$B4.W
- MOVE.L (A6)+,$B8.W
- MOVE.L (A6)+,$BC.W
- KFLUSH: MOVE.B $FFFFFC00.W,D0
- BTST #0,D0
- BEQ.S KFOK
- MOVE.B $FFFFFC02.W,D0
- BRA.S KFLUSH
- KFOK: RTS
- IT_NULL: RTE
- ********************************************************************************
- SAV_PAL: LEA PALETTE(PC),A1
- LEA $FFFF9800.W,A0
- BRA.S COPY_PAL
- RES_PAL: LEA PALETTE(PC),A0
- LEA $FFFF9800.W,A1
- COPY_PAL: MOVE.L #255,D0
- .BCL: MOVE.L (A0)+,(A1)+
- DBRA.W D0,.BCL
- RTS
- ********************************************************************************
- MAIN: BSR.S SAV_PAL
-
- RE_MAIN: MOVE.W #$2700,SR
- MOVE.B #$65,$FFFF8007.W
- MOVE.W #$3111,D0
- MOVEC D0,CACR
- * NOUVELLE RESOLUTION / NOUVEL ECRAN
- MOVE.L #ECRAN+256,D0
- LEA ECR,A0
- CLR.B D0
- MOVE.L D0,(A0)
- MOVE.B 1(A0),$FFFF8201.W
- MOVE.B 2(A0),$FFFF8203.W
- MOVE.B 3(A0),$FFFF820D.W
- BSR NEW_RESOL
- LEA NEW_PALETTE,A0
- LEA $FFFF9800.W,A1
- MOVEQ.L #15,D0
- .BCL: MOVE.L (A0)+,(A1)+
- DBRA.W D0,.BCL
- * ON REGLE L'INTERRUPTION CLAVIER
- * ON REGLE LA SOURIS EN RELATIF
- MOVE.B #$8,D0
- BSR BOURRE
- * ON INDIQUE CHAQUE MOUVEMENT
- MOVE.B #$0B,D0
- BSR BOURRE
- MOVE.B #$01,D0
- BSR BOURRE
- MOVE.B #$01,D0
- BSR BOURRE
- * ON CALCULE LE SPRITE
- BSR MK_MOUSE
- * ON ACTIVE
- .KFLUSH: BTST.B #0,$FFFFFC00.W
- BEQ.S .KFOK
- MOVE.B $FFFFFC02.W,D0
- BRA.S .KFLUSH
- .KFOK: MOVE.L ECR,EXMOUSE
- CLR.W FMOUSE
- MOVE.L #CLAV,$118.W
- MOVE.L #CHK,$18.W
- BSET #6,$FFFFFA09.W
- BSET #6,$FFFFFA15.W
- MOVE.L #VBL,$70.W
- MOVE.W #$2300,SR
- TST ACTUAL
- BNE.S .CONT
- JSR BEGIN
- BRA.S EXIT
- .CONT: JSR GENERAL
- EXIT:
- .WAIT: TST.B BOUTON
- BNE.S .WAIT
- * ON RESET LE CLAVIER
- MOVE.B #$80,D0
- BSR BOURRE
- MOVE.B #$01,D0
- BSR BOURRE
- RTS
- ********************************************************************************
- VBL: MOVEM.L D0-A6,-(SP)
- BSR DISPLAY_MOUSE
-
- .DEC14: TST $FFFF9838.W
- BEQ.S .DEC15
- SUB.L #$01000000,(NEW_PALETTE+(14*4))
-
- .DEC15: TST $FFFF983C.W
- BEQ.S .GAUCHE
- SUB.L #$01000000,(NEW_PALETTE+(15*4))
-
- .GAUCHE: BTST #1,$FFFF893C.W
- BEQ.S .DROITE
- MOVE.L #$FF000000,(NEW_PALETTE+(14*4))
- TST.B DMA_AUTO
- BEQ.S .DROITE
- SUBQ.B #1,DMA_INPUT_L
- BPL.S .CT1
- CLR.B DMA_INPUT_L
- .CT1: CMPI.W #"IN",ACTUAL
- BNE.S .CT3
- CLR.L ACTUAL
- .CT3: BSR SET_VOL
-
- .DROITE: BTST #0,$FFFF893C.W
- BEQ.S .CLR_FLAG
- MOVE.L #$FF000000,(NEW_PALETTE+(15*4))
- TST.B DMA_AUTO
- BEQ.S .CLR_FLAG
- SUBQ.B #1,DMA_INPUT_R
- BPL.S .CT2
- CLR.B DMA_INPUT_R
- .CT2: CMPI.W #"IN",ACTUAL
- BNE.S .CT4
- CLR.L ACTUAL
- .CT4: BSR SET_VOL
-
-
- .CLR_FLAG: CLR.B $FFFF893C.W
-
- LEA NEW_PALETTE,A0
- LEA $FFFF9800.W,A1
- MOVEQ.L #15,D0
- .BCL: MOVE.L (A0)+,(A1)+
- DBRA.W D0,.BCL
-
- MOVE.W #$FFFF,FVBL
- MOVEM.L (SP)+,D0-A6
- RTE
-
- ********************************************************************************
- WVBL: CLR.W FVBL
- .VBL: TST FVBL
- BEQ.S .VBL
- RTS
- ********************************************************************************
- * INTERRUPTION CLAVIER / SOURIS
- CLAV: MOVE.W D0,-(SP)
- MOVE.W D1,-(SP)
- MOVE.B $FFFFFC02.W,D0
- MOVE.B D0,D1
- AND.B #$F8,D0
- CMPI.B #$F8,D0
- BNE.S .KEY
- AND.B #$03,D1
- MOVE.B D1,BOUTON
- MOVE.L #MX,$118.W
- MOVE.W (SP)+,D1
- MOVE.W (SP)+,D0
- RTE
- .KEY: MOVE.B D1,KEY
- MOVE.W (SP)+,D1
- MOVE.W (SP)+,D0
- RTE
- MX: MOVE.W D0,-(SP)
- MOVE.B $FFFFFC02.W,D0
- EXT D0
- ADD.W D0,MOUSEX
- BPL.S .S1
- CLR.W MOUSEX
- .S1: MOVE.L #MY,$118.W
- MOVE.W (SP)+,D0
- RTE
- MY: MOVE.W D0,-(SP)
- MOVE.B $FFFFFC02.W,D0
- EXT D0
- ADD.W D0,MOUSEY
- BPL.S .S2
- CLR.W MOUSEY
- .S2: MOVE.L #CLAV,$118.W
- MOVE.W (SP)+,D0
- RTE
- ********************************************************************************
- DISPLAY_MOUSE: CMPI.W #"OF",FMOUSE
- BNE.S .CONT0
- RTS
-
- .CONT0: CMPI.W #$1973,FMOUSE
- BEQ.S .CONT2
-
- LEA BACK_SPR,A0
- MOVE.L EXMOUSE,A1
- MOVE.W #15,D0
- .BCL0: REPT 4
- MOVE.L (A0)+,(A1)+
- ENDR
- LEA 320-16(A1),A1
- DBRA.W D0,.BCL0
-
- TST FMOUSE
- BNE.S .CONT1
- MOVE.W #"OF",FMOUSE
- RTS
- .CONT1:
-
- .CONT2: MOVE.W MOUSEY,D0
- CMPI.W #480-16,D0
- BMI.S .S3
- MOVE.W #480-16,D0
- MOVE.W D0,MOUSEY
- .S3: MULU.W #320,D0
- MOVE.W MOUSEX,D1
- CMPI.W #640-16,D1
- BMI.S .S4
- MOVE.W #640-16,D1
- MOVE.W D1,MOUSEX
- .S4: AND.L #$0000FFF0,D1
- LSR.L #1,D1
- ADD.L D1,D0
- MOVE.L ECR,A1
- ADD.L D0,A1
- MOVE.L A1,EXMOUSE
- MOVE.W MOUSEX,D0
- AND.L #$000F,D0
- LEA SPRITE,A0
- LSL.L #7,D0
- ADD.L D0,A0
- LEA BACK_SPR,A2
- MOVE.L EXMOUSE,A3
- MOVE.W #15,D0
- .BCL1: REPT 4
- MOVE.L (A3)+,(A2)+
- ENDR
- LEA 320-16(A3),A3
- DBRA.W D0,.BCL1
-
- CMPI.W #$1973,FMOUSE
- BNE.S .CONT3
- MOVE.W #"ON",FMOUSE
- RTS
-
- .CONT3: MOVE.W #15,D0
- .Y: MOVE.W (A0)+,D1
- AND.W D1,(A1)+
- AND.W D1,(A1)+
- AND.W D1,(A1)+
- AND.W D1,(A1)+
- MOVE.W (A0)+,D1
- AND.W D1,(A1)+
- AND.W D1,(A1)+
- AND.W D1,(A1)+
- AND.W D1,(A1)+
- MOVE.W (A0)+,D1
- OR.W D1,-16(A1)
- MOVE.W (A0)+,D1
- OR.W D1,-8(A1)
- LEA 320-16(A1),A1
- DBRA.W D0,.Y
- .FIN1: RTS
- ********************************************************************************
- MY_WINDOWS: CLR.W FMOUSE
- BSR WVBL
- BSR SET_DMA
- MOVE.L (A0)+,D0
- CMP.L ACTUAL,D0
- BEQ.S .EXIT
- MOVE.L D0,ACTUAL
- CLR.W NB_BOUTONS_MW
- LEA BOUTONS_MW,A6
- .MY: MOVE.B (A0)+,D0
- CMPI.B #"*",D0
- BNE.S .BOX
- .EXIT: MOVE.W #$1973,FMOUSE
- BRA.S MY_GESTION
- .BOX: CMPI.B #"B",D0
- BNE.S .WIN
- MOVE.B (A0)+,D7
- MOVE.B (A0)+,D0
- MOVE.B (A0)+,D1
- MOVE.B (A0)+,D2
- MOVE.B (A0)+,D3
- TST.B D7
- BEQ.S .MY
- BSR RECTANGLE
- BRA.S .MY
- .WIN: CMPI.B #"W",D0
- BNE.S .TXT
- ADDQ.W #1,NB_BOUTONS_MW
- MOVE.B (A0)+,D7
- MOVE.B (A0)+,D0
- EXT D0
- MOVE.B (A0)+,D1
- EXT D1
- MOVE.B (A0)+,D2
- EXT D2
- MOVE.B (A0)+,D3
- EXT D3
- MOVE.W D0,(A6)+
- MOVE.W D0,(A6)
- ADD.W D2,(A6)
- SUBQ.W #1,(A6)+
- MOVE.W D1,(A6)+
- MOVE.W D1,(A6)
- ADD.W D3,(A6)
- SUBQ.W #1,(A6)+
- MOVE.B (A0)+,(A6)+
- CLR.B (A6)+
- TST.B D7
- BEQ.S .MY
- BSR RECTANGLE
- BRA.S .MY
- .TXT: CMPI.B #"T",D0
- BNE.S .EXIT
- MOVE.B (A0)+,D7
- MOVE.B (A0)+,D0
- MOVE.B (A0)+,D1
- BSR TEXT
- BRA.S .MY
- ********************************************************************************
- MY_GESTION: BSR WVBL
- TST.L ACTUAL
- BEQ.S .EXIT
- TST.B BOUTON
- BNE.S .TEST
- BRA.S MY_GESTION
- .EXIT: MOVE.B #127,D0
- RTS
- .TEST: MOVE.W NB_BOUTONS_MW,D0
- BEQ.S MY_GESTION
- LEA BOUTONS_MW,A0
- SUBQ.W #1,D0
- .BCL0: CLR.W FCHK
- MOVE.W MOUSEY,D1
- LSR.W #4,D1
- CHK2.W (A0),D1
- MOVE.W MOUSEX,D2
- LSR.W #4,D2
- CHK2.W 4(A0),D2
- TST FCHK
- BNE.S .CT
- MOVE.B 8(A0),D0
- RTS
- .CT: LEA 10(A0),A0
- DBRA.W D0,.BCL0
- BRA.S MY_GESTION
- ********************************************************************************
- CHK: MOVE.W #$FFFF,FCHK
- RTE
- ********************************************************************************
- RECTANGLE: MOVEM.L D0-A6,-(SP)
- AND.L #$FF,D0
- AND.L #$FF,D1
- AND.L #$FF,D2
- AND.L #$FF,D3
- AND.L #$FF,D7
- MOVE.L ECR,A0
- MULU.W #16*320,D0
- ADD.L D0,A0
- LSL.W #3,D1
- ADD.L D1,A0
- LSL.W #4,D2
- SUBQ.W #1,D2
- SUBQ.W #1,D3
- .Y: MOVE.W D3,D4
- MOVE.L A0,A1
- .X: CLR.L (A1)
- CLR.L 4(A1)
- .P1: BTST #0,D7
- BEQ.S .P2
- MOVE.W #$FFFF,(A1)
- .P2: BTST #1,D7
- BEQ.S .P3
- MOVE.W #$FFFF,2(A1)
- .P3: BTST #2,D7
- BEQ.S .P4
- MOVE.W #$FFFF,4(A1)
- .P4: BTST #3,D7
- BEQ.S .P0
- MOVE.W #$FFFF,6(A1)
- .P0: ADDQ.L #8,A1
- DBRA.W D4,.X
- LEA 320(A0),A0
- DBRA.W D2,.Y
- MOVEM.L (SP)+,D0-A6
- RTS
- ********************************************************************************
- TEXT: MOVEM.L D0-A6,-(SP)
- AND.L #$FF,D0
- AND.L #$FF,D1
- AND.L #$FF,D7
- LEA FONT,A1
- MOVE.L ECR,A2
- MULU.W #16*320,D0
- ADD.L D0,A2
- LSL.W #3,D1
- ADD.L D1,A2
- LEA 1+(4*320)(A2),A2
- CLR.W D1
- .X: MOVE.B (A0)+,D1
- BEQ.S .EXIT
- BSR.S PCHAR
- ADDQ.L #7,A2
- MOVE.B (A0)+,D1
- BEQ.S .EXIT
- BSR.S PCHAR
- ADDQ.L #1,A2
- BRA.S .X
- .EXIT: MOVEM.L (SP)+,D0-A6
- .RETRY: TST.B (A0)+
- BNE.S .RETRY
- RTS
- ********************************************************************************
- PCHAR: CMPI.B #32,D1
- BEQ.S .EXIT
- LEA (A1,D1.W*8),A3
- MOVE.L A2,A4
- MOVE.W #7,D3
- .Y: MOVE.B (A3)+,D2
- NOT.B D2
- AND.B D2,(A4)
- AND.B D2,2(A4)
- AND.B D2,4(A4)
- AND.B D2,6(A4)
- ROR.B #1,D2
- AND.B D2,320(A4)
- AND.B D2,322(A4)
- AND.B D2,324(A4)
- AND.B D2,326(A4)
- ROL.B #1,D2
- NOT.B D2
- .P1: BTST #0,D7
- BEQ.S .P2
- OR.B D2,(A4)
- .P2: BTST #1,D7
- BEQ.S .P3
- OR.B D2,2(A4)
- .P3: BTST #2,D7
- BEQ.S .P4
- OR.B D2,4(A4)
- .P4: BTST #3,D7
- BEQ.S .P0
- OR.B D2,6(A4)
- .P0: LEA 320(A4),A4
- DBRA.W D3,.Y
- .EXIT: RTS
- ********************************************************************************
- MK_MOUSE: LEA MOUSE,A0
- MOVE.L ECR,A1
- MOVE.W #15,D0
- .BCL3: MOVE.W (A0)+,(A1)
- CLR.W 2(A1)
- CLR.L 4(A1)
- CLR.L 8(A1)
- CLR.L 12(A1)
- LEA 320(A1),A1
- DBRA.W D0,.BCL3
- LEA SPRITE,A1
- MOVE.W #15,D2
- .BCL0: MOVE.L ECR,A0
- MOVE.W #15,D1
- .BCL1: MOVE.W (A0),D0
- NOT.W D0
- MOVE.W D0,(A1)+
- MOVE.W 8(A0),D0
- NOT.W D0
- MOVE.W D0,(A1)+
- MOVE.W (A0),(A1)+
- MOVE.W 8(A0),(A1)+
- LEA 320(A0),A0
- DBRA.W D1,.BCL1
- MOVE.L ECR,A0
- MOVE.W #15,D1
- .BCL2: LSR.W (A0)
- ROXR.W 8(A0)
- LEA 320(A0),A0
- DBRA.W D1,.BCL2
- DBRA.W D2,.BCL0
- RTS
- ********************************************************************************
- NEW_RESOL: MOVE.B $FFFF8006.W,D0
- AND.W #%11000000,D0
- BEQ .ERROR
- STOP #$2300
- STOP #$2300
- CMPI.W #128,D0
- BEQ .VGA
- .RVB: include rvg.s
- RTS
- .VGA: include vga.s
- RTS
- .ERROR: ILLEGAL
- ********************************************************************************
- BOURRE: MOVE.B $FFFFFC00.W,D1
- BTST #1,D1
- BEQ.S BOURRE
- MOVE.B D0,$FFFFFC02.w
- RTS
- ********************************************************************************
- SET_DMA: CLR.W $FFFF8900.W * ON COUPE TOUT
-
- MOVE.B #%00000000,$FFFF8920.W * DAC
- MOVE.B #%01000000,$FFFF8921.W * SOUND MODE CONTROL (16BITS/STEREO)
- MOVE.B #15,$FFFF9834.W * SURECHANTILLONAGE * 256
- MOVE.B DMA_FREQ,$FFFF8935.W * FREQUENCY DEVIDER INTERNAL
-
- CLR.W D0
- MOVE.B DMA_OUTPUT_L,D0
- LSL.W #4,D0
- OR.B DMA_OUTPUT_R,D0
- LSL.W #4,D0
- MOVE.W D0,$FFFF893A.W * AMPLIFICATION
-
- CLR.W D0
- MOVE.B DMA_INPUT_L,D0
- LSL.W #4,D0
- OR.B DMA_INPUT_R,D0
- MOVE.B D0,$FFFF8939.W * ATTENUATION
-
- MOVE.W #$0001,$FFFF8930.W * INPUT
- MOVE.W #$0007,$FFFF8932.W * OUTPUT
-
- MOVE.B #%00000000,$FFFF8936.W * ADC
- MOVE.B #%00000001,$FFFF8937.W * INPUT SOURCE
- MOVE.B #%00000000,$FFFF8938.W * MICROPHONE
- RTS
- ********************************************************************************
- SET_VOL: CLR.W D0
- MOVE.B DMA_INPUT_L,D0
- LSL.W #4,D0
- OR.B DMA_INPUT_R,D0
- MOVE.B D0,$FFFF8939.W * ATTENUATION
- RTS
- ********************************************************************************
- BEGIN:
- *LEA INTRO_MW,A0
- *BSR MY_WINDOWS
- *TST D0
- *BEQ.S GENERAL
- *LEA INFO_MW,A0
- *BSR MY_WINDOWS
- * ENLEVER LES * AU DESSUS POUR UNE VERSION NORMALE
- ********************************************************************************
- GENERAL: CLR.L ACTUAL
- BSR CCOURBE
- BSR CONVERT5
- LEA GENERAL_MW,A0
- BSR MY_WINDOWS
- CMPI.B #1,D0
- BEQ FREQUENCE
- CMPI.B #2,D0
- BEQ OUTPUT
- CMPI.B #3,D0
- BEQ INPUT
- CMPI.B #4,D0
- BEQ RECORD
- CMPI.B #5,D0
- BEQ PLAY
- CMPI.B #6,D0
- BEQ LOOP
- CMPI.B #7,D0
- BEQ OSCILLOS
- CMPI.B #8,D0
- BEQ ZOOM
- CMPI.B #9,D0
- BEQ RAZ
- CMPI.B #10,D0
- BEQ POP_ZOOM
- CMPI.B #11,D0
- BEQ SET_BLSTART
- CMPI.B #12,D0
- BEQ SET_BLEND
- CMPI.B #13,D0
- BEQ BLPLAY
- CMPI.B #14,D0
- BEQ BLRECORD
- CMPI.B #15,D0
- BEQ CLEAR_ALL
- CMPI.B #16,D0
- BEQ SPATH
- CMPI.B #17,D0
- BEQ BLOCK
- CMPI.B #18,D0
- BEQ VISU_BLOCK
- CMPI.B #19,D0
- BEQ SSAVE
- CMPI.B #20,D0
- BEQ SLOAD
- CMPI.B #21,D0
- BEQ SEXPORT
- CMPI.B #22,D0
- BEQ SDELETE
- TST.B D0
- BNE GENERAL
- CLR.W RETURN
- RTS
- ********************************************************************************
- FREQUENCE: LEA FREQUENCE_MW,A0
- BSR MY_WINDOWS
- TST.B D0
- BMI GENERAL
- CMPI.B #127,D0
- BEQ.S FREQUENCE
- MOVE.B D0,DMA_FREQ
- BRA.S FREQUENCE
- ********************************************************************************
- OUTPUT: BSR CONVERT1
- LEA OUTPUT1_MW,A0
- BSR MY_WINDOWS
- BRA.S .TEST
- .OUTPUT2: TST BOUTON
- BNE.S .OUTPUT2
- CLR.L ACTUAL
- BSR CONVERT2
- LEA OUTPUT2_MW,A0
- BSR MY_WINDOWS
- .TEST: CMPI.B #1,D0
- BNE.S .PLUS_GAUCHE
- SUBQ.B #1,DMA_OUTPUT_L
- BPL.S .OUTPUT2
- CLR.B DMA_OUTPUT_L
- BRA.S .OUTPUT2
- .PLUS_GAUCHE: CMPI.B #2,D0
- BNE.S .MOINS_DROITE
- ADDQ.B #1,DMA_OUTPUT_L
- CMPI.B #16,DMA_OUTPUT_L
- BMI.S .OUTPUT2
- MOVE.B #15,DMA_OUTPUT_L
- BRA.S .OUTPUT2
- .MOINS_DROITE: CMPI.B #3,D0
- BNE.S .PLUS_DROITE
- SUBQ.B #1,DMA_OUTPUT_R
- BPL.S .OUTPUT2
- CLR.B DMA_OUTPUT_R
- BRA.S .OUTPUT2
- .PLUS_DROITE: CMPI.B #4,D0
- BNE.S .FINAL
- ADDQ.B #1,DMA_OUTPUT_R
- CMPI.B #16,DMA_OUTPUT_R
- BMI.S .OUTPUT2
- MOVE.B #15,DMA_OUTPUT_R
- BRA .OUTPUT2
- .FINAL: TST.B D0
- BMI GENERAL
- BRA .OUTPUT2
-
- ********************************************************************************
- INPUT: BSR CONVERT3
- LEA INPUT1_MW,A0
- BSR MY_WINDOWS
- BRA.S .TEST
- .INPUT2: TST BOUTON
- BNE.S .INPUT2
- CLR.L ACTUAL
- BSR CONVERT4
- LEA INPUT2_MW,A0
- BSR MY_WINDOWS
- .TEST: TST D0
- BNE.S .MOINS_GAUCHE
- NOT.B DMA_AUTO
- BRA.S .INPUT2
- .MOINS_GAUCHE: CMPI.B #1,D0
- BNE.S .PLUS_GAUCHE
- SUBQ.B #1,DMA_INPUT_L
- BPL.S .INPUT2
- CLR.B DMA_INPUT_L
- BRA.S .INPUT2
- .PLUS_GAUCHE: CMPI.B #2,D0
- BNE.S .MOINS_DROITE
- ADDQ.B #1,DMA_INPUT_L
- CMPI.B #16,DMA_INPUT_L
- BMI.S .INPUT2
- MOVE.B #15,DMA_INPUT_L
- BRA.S .INPUT2
- .MOINS_DROITE: CMPI.B #3,D0
- BNE.S .PLUS_DROITE
- SUBQ.B #1,DMA_INPUT_R
- BPL.S .INPUT2
- CLR.B DMA_INPUT_R
- BRA.S .INPUT2
- .PLUS_DROITE: CMPI.B #4,D0
- BNE.S .FINAL
- ADDQ.B #1,DMA_INPUT_R
- CMPI.B #16,DMA_INPUT_R
- BMI .INPUT2
- MOVE.B #15,DMA_INPUT_R
- BRA .INPUT2
- .FINAL: TST.B D0
- BMI GENERAL
- BRA .INPUT2
- ********************************************************************************
- CONVERT1: LEA CVT1+10,A0
- MOVE.B DMA_OUTPUT_L,D0
- BSR CONVERTB
- LEA CVT1+26,A0
- MOVE.B DMA_OUTPUT_R,D0
- BSR CONVERTB
- RTS
- CONVERT2: LEA CVT2+10,A0
- MOVE.B DMA_OUTPUT_L,D0
- BSR CONVERTB
- LEA CVT2+26,A0
- MOVE.B DMA_OUTPUT_R,D0
- BSR CONVERTB
- RTS
- ********************************************************************************
- CONVERT3: MOVE.B #5,FAUTO1+1
- TST.B DMA_AUTO
- BEQ.S .CONT
- MOVE.B #9,FAUTO1+1
- .CONT: LEA CVT3+10,A0
- MOVE.B DMA_INPUT_L,D0
- BSR CONVERTB
- LEA CVT3+26,A0
- MOVE.B DMA_INPUT_R,D0
- BSR CONVERTB
- RTS
-
- CONVERT4: MOVE.B #5,FAUTO2+1
- TST.B DMA_AUTO
- BEQ.S .CONT
- MOVE.B #9,FAUTO2+1
- .CONT: LEA CVT4+10,A0
- MOVE.B DMA_INPUT_L,D0
- BSR CONVERTB
- LEA CVT4+26,A0
- MOVE.B DMA_INPUT_R,D0
- BSR.S CONVERTB
- RTS
- ********************************************************************************
- CONVERT5: LEA CVT5+15,A0
- MOVE.L START,D0
- BSR CONVERTL
- LEA CVT5+35,A0
- MOVE.L END,D0
- SUB.L START,D0
- BSR.S CONVERTL
- LEA CVT5+55,A0
- MOVE.L END,D0
- BSR.S CONVERTL
- MOVE.B #5,LLOOP+1
- TST.B FLOOP
- BEQ.S .CONT
- MOVE.B #9,LLOOP+1
- .CONT: LEA CVT6+15,A0
- MOVE.L BLSTART,D0
- BSR.S CONVERTL
- LEA CVT6+35,A0
- MOVE.L BLEND,D0
- SUB.L BLSTART,D0
- BSR.S CONVERTL
- LEA CVT6+56,A0
- MOVE.L BLEND,D0
- BSR.S CONVERTL
- RTS
- ********************************************************************************
- CONVERTB: LEA CONVERT,A1
- CLR.L D1
- MOVE.B D0,D1
- DIVU.W #10,D1
- MOVE.B (A1,D1.W),(A0)+
- SWAP D1
- MOVE.B (A1,D1.W),(A0)
- RTS
- ********************************************************************************
- CONVERTL: LEA CONVERT,A1
- MOVE.W #7,D7
- .BCL0: CLR.L D1
- DIVU.L #10,D1:D0
- MOVE.B (A1,D1.W),-(A0)
- DBRA.W D7,.BCL0
- RTS
- ********************************************************************************
- EFFACE2: CLR.W FMOUSE
- BSR WVBL
- CLR.W D0
- MOVE.W D0,D1
- MOVE.W D1,D7
- MOVE.W #30,D2
- MOVE.W #40,D3
- BSR RECTANGLE
- MOVE.W #$1973,FMOUSE
- BSR WVBL
- RTS
- ********************************************************************************
- CCOURBE: CLR.W FMOUSE
- BSR WVBL
- CLR.W D0
- MOVE.W D0,D1
- MOVE.W D1,D7
- MOVE.W #30,D2
- MOVE.W #40,D3
- BSR RECTANGLE
- BSR.S COURBE
- MOVE.W #$1973,FMOUSE
- BSR WVBL
- RTS
- ********************************************************************************
- COURBE: MOVE.L MEMORY_START,A0
- MOVE.L START,D0
- MOVE.L END,D1
- ADD.L D0,A0
- SUB.L D0,D1
- MOVE.L ECR,A6
- LEA 14(A6),A6
- CLR.W D3
- MOVE.W #37,D7
- .BCL0: MOVE.W #255,D6
- .EFF: CLR.L (A6)
- CLR.L -4(A6)
- LEA 320(A6),A6
- DBRA.W D6,.EFF
- SUB.L #256*320,A6
- MOVE.W #15,D6
- MOVE.W #$8000,D5
- .BCL1: MOVE.L D1,D2
- MULU.L D3,D2
- DIVU.L #608,D2
- AND.L #$FFFFFFFC,D2
- MOVE.L A6,-(SP)
- CLR.W FCHK
- CLR.L D4
- MOVE.L D2,D4
- ADD.L START,D4
- LEA BLSTART,A5
- CHK2.L (A5),D4
- CLR.W D4
- MOVE.B (A0,D2.L),D4
- ADD.B #128,D4
- CLR.W D0
- MOVE.B 2(A0,D2.L),D0
- ADD.B #128,D0
- ADD.W D4,D0
- LSR.W #1,D0
-
- TST.W FCHK
- BEQ.S .CT1
- SUBQ.L #6,A6
-
- .CT1: BTST #7,D0
- BEQ.S .CONT0
- SUB.W #128,D0
- MOVE.L #127*320,D4
- .BCL2: OR.W D5,(A6,D4.L)
- SUB.L #320,D4
- DBRA.W D0,.BCL2
- BRA.S .CONT1
- .CONT0: MOVE.W #128,D2
- SUB.B D0,D2
- MOVE.L #127*320,D4
- .BCL3: OR.W D5,(A6,D4.L)
- ADD.L #320,D4
- DBRA.W D2,.BCL3
- .CONT1: LSR.W #1,D5
- ADDQ.W #1,D3
- MOVE.L (SP)+,A6
- DBRA.W D6,.BCL1
- ADDQ.L #8,A6
- DBRA.W D7,.BCL0
- RTS
- ********************************************************************************
- BLRECORD: BSR BLDMA_ADRESSE
- MOVE.B #%00000001,$FFFF8937.W * INPUT SOURCE
- TST FLOOP
- BEQ.S .NO_LOOP
- .LOOP: MOVE.B #%10110000,$FFFF8901.W
- BSR AFFICHE_COUNTER
- BRA GENERAL
- .NO_LOOP: MOVE.B #%10010000,$FFFF8901.W
- BSR AFFICHE_COUNTER
- BRA GENERAL
-
- RECORD: BSR DMA_ADRESSE
- MOVE.B #%00000001,$FFFF8937.W * INPUT SOURCE
- TST FLOOP
- BEQ.S .NO_LOOP
- .LOOP: MOVE.B #%10110000,$FFFF8901.W
- BSR AFFICHE_COUNTER
- BRA GENERAL
- .NO_LOOP: MOVE.B #%10010000,$FFFF8901.W
- BSR AFFICHE_COUNTER
- BRA GENERAL
- ********************************************************************************
- BLPLAY: BSR.S BLDMA_ADRESSE
- MOVE.B #%00000010,$FFFF8937.W * INPUT SOURCE
- TST FLOOP
- BEQ.S .NO_LOOP
- .LOOP: MOVE.B #$03,$FFFF8901.W
- BSR WT
- BRA GENERAL
- .NO_LOOP: MOVE.B #$01,$FFFF8901.W
- BSR WT
- BRA GENERAL
-
- PLAY: BSR.S DMA_ADRESSE
- MOVE.B #%00000010,$FFFF8937.W * INPUT SOURCE
- TST FLOOP
- BEQ.S .NO_LOOP
- .LOOP: MOVE.B #$03,$FFFF8901.W
- BSR WT
- BRA GENERAL
- .NO_LOOP: MOVE.B #$01,$FFFF8901.W
- BSR WT
- BRA GENERAL
- ********************************************************************************
- DMA_ADRESSE: BSET #7,$FFFF8901.W
- BSR.S DMA_ADR
- BCLR #7,$FFFF8901.W
- BSR.S DMA_ADR
- RTS
-
- BLDMA_ADRESSE: BSET #7,$FFFF8901.W
- BSR.S BLDMA_ADR
- BCLR #7,$FFFF8901.W
- BSR.S BLDMA_ADR
- RTS
-
- DMA_ADR: LEA ADR,A1
- MOVE.L MEMORY_START,A0
- ADD.L START,A0
- MOVE.L A0,(A1)
- MOVE.B 1(A1),$FFFF8903.W
- MOVE.B 2(A1),$FFFF8905.W
- MOVE.B 3(A1),$FFFF8907.W
- MOVE.L MEMORY_START,A0
- ADD.L END,A0
- MOVE.L A0,(A1)
- MOVE.B 1(A1),$FFFF890F.W
- MOVE.B 2(A1),$FFFF8911.W
- MOVE.B 3(A1),$FFFF8913.W
- RTS
-
- BLDMA_ADR: LEA ADR,A1
- MOVE.L MEMORY_START,A0
- ADD.L BLSTART,A0
- MOVE.L A0,(A1)
- MOVE.B 1(A1),$FFFF8903.W
- MOVE.B 2(A1),$FFFF8905.W
- MOVE.B 3(A1),$FFFF8907.W
- MOVE.L MEMORY_START,A0
- ADD.L BLEND,A0
- MOVE.L A0,(A1)
- MOVE.B 1(A1),$FFFF890F.W
- MOVE.B 2(A1),$FFFF8911.W
- MOVE.B 3(A1),$FFFF8913.W
- RTS
- ********************************************************************************
- AFFICHE_COUNTER:
- CLR.W FMOUSE
- BSR WVBL
- .RETRY: BSR COURBE
- MOVE.B $FFFF8901.W,D0
- AND.B #$7F,D0
- BEQ.S .EXIT
- CMPI.B #1,BOUTON
- BNE.S .RETRY
- CLR.W $FFFF8900.W
- .EXIT: MOVE.W #$1973,FMOUSE
- BSR WVBL
- .RETRY2: TST.B BOUTON
- BNE.S .RETRY2
- RTS
- ********************************************************************************
- WT:
- CLR.W FMOUSE
- BSR WVBL
- .RETRY: MOVE.B $FFFF8901.W,D0
- AND.B #$7F,D0
- BEQ.S .EXIT
- CMPI.B #1,BOUTON
- BNE.S .RETRY
- CLR.W $FFFF8900.W
- .EXIT: MOVE.W #$1973,FMOUSE
- BSR WVBL
- .RETRY2: TST.B BOUTON
- BNE.S .RETRY2
- RTS
- ********************************************************************************
- LOOP: NOT.W FLOOP
- BRA GENERAL
- ********************************************************************************
- OSCILLOS: BSR EFFACE2
- CLR.W FMOUSE
- BSR WVBL
- MOVE.W #$3011,D0
- MOVEC D0,CACR
- LEA ADR,A1
- BSET #7,$FFFF8901.W
- LEA O_GAUCHE,A0
- MOVE.L A0,(A1)
- MOVE.B 1(A1),$FFFF8903.W
- MOVE.B 2(A1),$FFFF8905.W
- MOVE.B 3(A1),$FFFF8907.W
- LEA (O_GAUCHE+(640*4)),A0
- MOVE.L A0,(A1)
- MOVE.B 1(A1),$FFFF890F.W
- MOVE.B 2(A1),$FFFF8911.W
- MOVE.B 3(A1),$FFFF8913.W
- MOVE.W #$0001,$FFFF8930.W * INPUT
- MOVE.W #$6007,$FFFF8932.W * OUTPUT
- MOVE.B #%00000001,$FFFF8937.W * INPUT SOURCE
- MOVE.B #%10110000,$FFFF8901.W
- MOVE.L NEW_PALETTE+4,-(SP)
- MOVE.L NEW_PALETTE+8,-(SP)
- MOVE.L NEW_PALETTE+12,-(SP)
- MOVE.L #$FFFF00FF,NEW_PALETTE+12
- .RETRY: MOVE.L #$00000000,NEW_PALETTE+4
- MOVE.L #$FFFF00FF,NEW_PALETTE+8
- MOVE.L ECR,A6
- LEA EFF_BUFFER1,A0
- BSR.S AFF_C
- .WT1: CMPI.B #2,BOUTON
- BEQ.S .WT1
- MOVE.L #$FFFF00FF,NEW_PALETTE+4
- MOVE.L #$00000000,NEW_PALETTE+8
- MOVE.L ECR,A6
- ADDQ.L #2,A6
- LEA EFF_BUFFER2,A0
- BSR.S AFF_C
- .WT2: CMPI.B #2,BOUTON
- BEQ.S .WT2
- CMPI.B #1,BOUTON
- BNE.S .RETRY
- MOVE.L (SP)+,NEW_PALETTE+12
- MOVE.L (SP)+,NEW_PALETTE+8
- MOVE.L (SP)+,NEW_PALETTE+4
- CLR.W $FFFF8900.W
- MOVE.W #$3111,D0
- MOVEC D0,CACR
- BRA GENERAL
-
- AFF_C: MOVE.W #39,D7
- MOVE.L A0,A1
- LEA MUL32,A5
- LEA O_GAUCHE,A4
- .BCL0: MOVE.W #7,D6
- .BCL1: REPT 2
- MOVE.L (A1)+,D0
- CLR.W (A6,D0.L)
- MOVE.L (A1)+,D0
- CLR.W (A6,D0.L)
- ENDR
- DBRA.W D6,.BCL1
- MOVE.W #$8000,D5
- MOVE.W #3,D6
- .BCL2: REPT 4
- TST.L (A4)
- BEQ.S *-2
- CLR.L D0
- CLR.L D1
- MOVE.W (A4),D0
- MOVE.W 2(A4),D1
- CLR.L (A4)+
- ADD.W #32768,D0
- ADD.W #32768,D1
- DIVU.W #137,D0
- DIVU.W #137,D1
- MOVE.L (A5,D0.W*4),D0
- MOVE.L (A5,D1.W*4),D1
- MOVE.L D0,(A0)+
- MOVE.L D1,(A0)+
- OR.W D5,(A6,D0.L)
- OR.W D5,(A6,D1.L)
- LSR.W #1,D5
- ENDR
- DBRA.W D6,.BCL2
- ADDQ.L #8,A6
- DBRA.W D7,.BCL0
- RTS
- ********************************************************************************
- RAZ: BSR PUSH_ZOOM
- CLR.L START
- MOVE.L MEMORY_LENGHT,END
- BRA GENERAL
- ********************************************************************************
- ZOOM: CMPI.B #2,BOUTON
- BEQ.S SET_START
- CMPI.B #1,BOUTON
- BEQ.S SET_END
- BRA GENERAL
- SET_START: BSR.S GET_POS
- BSR PUSH_ZOOM
- MOVE.L D0,START
- BRA GENERAL
- SET_END: BSR.S GET_POS
- BSR PUSH_ZOOM
- MOVE.L D0,END
- BRA GENERAL
- GET_POS: CLR.L -(SP)
- .RETRY BSR WVBL
- MOVE.W #3,D7
- MOVE.W #14,D0
- MOVE.W #34,D1
- MOVE.W #01,D2
- MOVE.W #05,D3
- BSR RECTANGLE
- MOVE.L START,D0
- MOVE.L END,D1
- SUB.L D0,D1
- CLR.L D3
- MOVE.W MOUSEX,D3
- SUB.W #16,D3
- BPL.S .CONT1
- CLR.W D3
- .CONT1: CMPI.W #639-32,D3
- BMI.S .CONT2
- MOVE.W #640-32,D3
- .CONT2: MULU.L D3,D1
- DIVU.L #608,D1
- AND.L #$FFFFFFFC,D1
- MOVE.L START,D0
- ADD.L D1,D0
- MOVE.L D0,(SP)
- LEA COUNTER_TXT+8,A0
- BSR CONVERTL
- MOVE.W #1,D7
- MOVE.W #14,D0
- MOVE.W #34,D1
- LEA COUNTER_TXT,A0
- BSR TEXT
- TST.B BOUTON
- BNE .RETRY
- MOVE.L (SP)+,D0
- RTS
- ********************************************************************************
- PUSH_ZOOM: LEA (HZOOM+(4*2*30)),A6
- MOVE.W #30,D7
- .BCL: MOVE.L (A6),8(A6)
- MOVE.L 4(A6),12(A6)
- SUBQ.L #8,A6
- DBRA.W D7,.BCL
- MOVE.L START,8(A6)
- MOVE.L END,12(A6)
- RTS
- ********************************************************************************
- POP_ZOOM: LEA HZOOM,A6
- MOVE.L (A6),START
- MOVE.L 4(A6),END
- MOVE.W #30,D7
- .BCL: MOVE.L 8(A6),(A6)
- MOVE.L 12(A6),4(A6)
- ADDQ.L #8,A6
- DBRA.W D7,.BCL
- BRA GENERAL
- ********************************************************************************
- SET_BLSTART: MOVE.L BLEND,D0
- CMP.L START,D0
- BMI.S .ABORT
- MOVE.L START,BLSTART
- .ABORT: BRA GENERAL
- ********************************************************************************
- SET_BLEND: MOVE.L BLSTART,D0
- CMP.L END,D0
- BPL.S .ABORT
- MOVE.L END,BLEND
- .ABORT: BRA GENERAL
- ********************************************************************************
- CLEAR_ALL: MOVE.L MEMORY_START,A0
- MOVE.L MEMORY_LENGHT,D0
- LSR.L #2,D0
- .CLEAR: CLR.L (A0)+
- SUBQ.L #1,D0
- BNE.S .CLEAR
- MOVE.L MEMORY_LENGHT,END
- MOVE.L MEMORY_LENGHT,BLEND
- CLR.L START
- CLR.L BLSTART
- BRA GENERAL
- ********************************************************************************
- SPATH: MOVE.W #1,RETURN
- RTS
- ********************************************************************************
- BLOCK:
- CLR.L ACTUAL
- LEA BLOCK_MW,A0
- BSR MY_WINDOWS
- CMPI.B #1,D0
- BEQ.S VOLUME
- CMPI.B #3,D0
- BEQ INVERSE
- CMPI.B #4,D0
- BEQ COUPER
- CMPI.B #5,D0
- BEQ DETRUIRE
- BRA GENERAL
- ********************************************************************************
- VOLUME:
- * PHASE 1: ON MET LA VALEUR MAXIMALE DANS D7
- CLR.L D7
- MOVE.L MEMORY_START,A0
- ADD.L BLSTART,A0
- MOVE.L BLEND,D0
- SUB.L BLSTART,D0
- .BCL1: MOVE.W (A0)+,D1
- BPL.S .CT1
- NEG.W D1
- .CT1: CMP.W D7,D1
- BMI.S .CT2
- MOVE.W D1,D7
- .CT2: SUBQ.L #2,D0
- BNE.S .BCL1
- CMPI.W #32768,D7
- BNE.S .CT3
- MOVE.W #32767,D7
- * PHASE 2: ON BOOST
- .CT3: MOVE.L MEMORY_START,A0
- ADD.L BLSTART,A0
- MOVE.L BLEND,D0
- SUB.L BLSTART,D0
- .BCL2: CLR.L D1
- MOVE.W (A0),D1
- BPL.S .CT4
- NEG.W D1
- MULS.L #32767,D1
- DIVS.W D7,D1
- NEG.W D1
- MOVE.W D1,(A0)+
- SUBQ.L #2,D0
- BNE.S .BCL2
- BRA GENERAL
- .CT4: MULS.L #32767,D1
- DIVS.W D7,D1
- MOVE.W D1,(A0)+
- SUBQ.L #2,D0
- BNE.S .BCL2
- BRA GENERAL
- ********************************************************************************
- INVERSE: MOVE.L MEMORY_START,A0
- ADD.L BLSTART,A0
- MOVE.L MEMORY_START,A1
- ADD.L BLEND,A1
- MOVE.L BLEND,D0
- SUB.L BLSTART,D0
- .BCL: MOVE.W (A0),D1
- MOVE.W (A1),(A0)+
- MOVE.W D1,(A1)
- SUBQ.L #2,A1
- SUBQ.L #4,D0
- BPL.S .BCL
- BRA GENERAL
- ********************************************************************************
- COUPER: MOVE.L MEMORY_LENGHT,D0
- CMP.L BLEND,D0
- BEQ GENERAL
-
- MOVE.L MEMORY_START,A0
- ADD.L BLSTART,A0
- MOVE.L MEMORY_START,A1
- ADD.L BLEND,A1
- ADDQ.L #4,A1
- MOVE.L MEMORY_START,A2
- ADD.L MEMORY_LENGHT,A2
- ADDQ.L #4,A2
- .COPY: MOVE.L (A1)+,(A0)+
- CMP.L A2,A1
- BNE.S .COPY
- SUBQ.L #4,A2
- .CLEAR: CLR.L (A0)+
- CMP.L A2,A0
- BNE.S .CLEAR
- BRA GENERAL
- ********************************************************************************
- DETRUIRE: MOVE.L MEMORY_START,A0
- ADD.L BLSTART,A0
- MOVE.L BLEND,D0
- SUB.L BLSTART,D0
- ADDQ.L #1,D0
- LSR.L #2,D0
- .CLEAR: CLR.L (A0)+
- SUBQ.L #1,D0
- BNE.S .CLEAR
- BRA GENERAL
- ********************************************************************************
- VISU_BLOCK: MOVE.L BLSTART,START
- MOVE.L BLEND,END
- BRA GENERAL
- ********************************************************************************
- SSAVE: MOVE.W #2,RETURN
- RTS
- ********************************************************************************
- SLOAD: MOVE.W #3,RETURN
- RTS
- ********************************************************************************
- SEXPORT: MOVE.W #4,RETURN
- RTS
- ********************************************************************************
- SDELETE: MOVE.W #5,RETURN
- RTS
- ********************************************************************************
- SECTION DATA
- ********************************************************************************
- MUL32:
- OFF SET 0
- REPT 480
- DC.L OFF
- OFF SET OFF+320
- ENDR
- ********************************************************************************
- ADR: DC.L 0
- COUNTER_TXT: DC.B "********",0
- EVEN
- ********************************************************************************
- FONT: INCBIN 8X8.FNT
- ********************************************************************************
- MOUSE: DC.W %1111111111111111
- DC.W %1111111111111110
- DC.W %1111111111111100
- DC.W %1111111111111000
- DC.W %1111111100000000
- DC.W %1111111110000000
- DC.W %1111111111000000
- DC.W %1111111111100000
- DC.W %1111011111110000
- DC.W %1111001111111000
- DC.W %1111000111111100
- DC.W %1111000011111110
- DC.W %1111000001111111
- DC.W %1110000000111110
- DC.W %1100000000011100
- DC.W %1000000000001000
- ********************************************************************************
- NEW_PALETTE: DC.B 000,000,0,000 *00
- DC.B 255,255,0,255 *01
- DC.B 191,191,0,191 *02
- DC.B 127,127,0,127 *03
- DC.B 095,095,0,095 *04
- DC.B 255,031,0,000 *05
- DC.B 255,255,0,127 *06
- DC.B 063,191,0,255 *07
- DC.B 255,192,0,255 *08
- DC.B 031,255,0,063 *09
- DC.B 0,0,0,0
- DC.B 0,0,0,0
- DC.B 0,0,0,0
- DC.B 0,0,0,0
- DC.B 0,0,0,0
- DC.B 0,0,0,0
- DC.B 0,0,0,0
- ********************************************************************************
- INTRO_MW: *Type/Color/coordonnées/paramètre
- DC.L "INT!"
- DC.B "B",00,00,00,29,39
- DC.B "B",04,01,01,28,38
- DC.B "B",02,02,05,01,30
- DC.B "B",03,04,02,20,36
- DC.B "T",05,02,07,"---=== THE PURE DIGITAL SOUND Version 1.00 ===---",0
- DC.B "T",06,04,02,"Première version d'un sampler Falcon 030:",0
- DC.B "T",06,05,02," -> Digitalisation aux fréquences Falcon en 16 bits / Stereo",0
- DC.B "T",06,06,02," -> Oscilloscopes en temps réel à la fréquence choisie",0
- DC.B "T",06,07,02," -> Gestion de bloc permettant de fixer les limites à l'unité prés",0
- DC.B "T",06,08,02," -> Selecteur de fichiers (1024 entrées) pour recherche rapide",0
- DC.B "T",06,09,02," -> Format d'exportation 100% configurable avec une qualité maximale",0
- DC.B "T",06,10,02," -> Réglage automatique du niveau de volume en cas de saturation",0
- DC.B "T",06,11,02," -> Compatible NDVI et écrans RVB (480 lignes entrelacées) ou VGA",0
- DC.B "T",06,12,02,"",0
- DC.B "T",06,13,02,"",0
- DC.B "T",07,15,02,"ATTENTION: Il faut exécuter le programme avec une résolution de 640",0
- DC.B "T",07,16,02,"pixels par ligne afin que les routines TOS (selecteur de fichier,",0
- DC.B "T",07,17,02,"textes, ...) fonctionnent correctement.",0
- DC.B "T",07,18,02,"",0
- DC.B "T",07,19,02,"",0
- DC.B "W",03,25,03,01,34,1
- DC.B "T",09,25,03," Je désire une information précise sur le logiciel et l'auteur...",0
- DC.B "W",03,27,03,01,34,0
- DC.B "T",09,27,03," J'ai déjà lu l'information et je veux travailler tout de suite !",0
- DC.B "*"
- EVEN
- ********************************************************************************
- INFO_MW: *Type/Color/coordonnées/paramètre
- DC.L "PRE!"
- DC.B "B",00,00,00,29,39
- DC.B "B",04,01,01,28,38
- DC.B "B",02,02,05,01,30
- DC.B "B",03,04,02,22,36
- DC.B "W",03,27,03,01,34,0
- DC.B "T",05,02,05,"LISEZ-MOI au moins une fois avant d'utiliser ce logiciel...",0
- DC.B "T",06,04,02," Ce logiciel a été écrit en 100% 68030 (toutes les routines d'afficha-",0
- DC.B "T",06,05,02,"ge texte et graphique ainsi que les routines pour la gestion de copro-",0
- DC.B "T",06,06,02,"cesseurs: clavier, souris, VIDEL, DMA et le reste...) donc sa compati-",0
- DC.B "T",06,07,02,"avec des machines trafiquées est on ne peut moins certaine.",0
- DC.B "T",06,08,02," Par contre, il ignore royalement les ROMS buggées,les logiciels rési-",0
- DC.B "T",06,09,02,"dents comme NVDI et du réglage de la configuration au moment du lance-",0
- DC.B "T",06,10,02,"ment.",0
- DC.B "T",06,11,02," De toute manière, vous l'utilisez A VOS RISQUES ET PÉRILS et s'il y a",0
- DC.B "T",06,12,02,"des dégats matériels (le hard disk qui se plante ou le DSP qui grille)",0
- DC.B "T",06,13,02,"c'est pour votre pomme. (les routines disque sont celles du système.)",0
- DC.B "T",07,15,02,"Ce logiciel est un SHAREWARE: Il y a à peine plus de 6000 FALCONS dans",0
- DC.B "T",07,16,02,"l'hexagone et il ne faut pas espérer des merveilles du côté des profes-",0
- DC.B "T",07,17,02,"sionnels donc si vous ne voulez pas que votre machine préférée tombe",0
- DC.B "T",07,18,02,"dans l'oublie, faites fonctionner ce système en France et vous aurez",0
- DC.B "T",07,19,02,"d'autres nouveautés à moindre prix.",0
- DC.B "T",01,21,16," Simon VOLANT",0
- DC.B "T",01,22,15,"8, rue Jean RACINE",0
- DC.B "T",01,23,15,"02190 GUIGNICOURT",0
- DC.B "T",07,25,02,"Salut aux auteurs de ZORG, Digital Tracker, Winrec, . . .",0
- DC.B "T",09,27,03,"Allons-y pour une petite séance de digitalisation haute-fidélité !",0
- DC.B "*"
- EVEN
- ********************************************************************************
- GENERAL_MW: *Type/Color/coordonnées/paramètre
- DC.L "GEN!"
- DC.B "W",00,00,01,16,38,8
- DC.B "B",04,16,00,14,40
- DC.B "B",03,16,02,01,04
- CVT5: DC.B "T",01,16,00,"D> ********",0
- DC.B "B",03,16,18,01,04
- DC.B "T",01,16,17," ********",0
- DC.B "B",03,16,34,01,04
- DC.B "T",01,16,33," ******** <F",0
- DC.B "W",03,17,02,01,04,11
- CVT6: DC.B "T",06,17,00,"DB>********",0
- DC.B "B",03,17,18,01,04
- DC.B "T",06,17,17," ********",0
- DC.B "W",03,17,34,01,04,12
- DC.B "T",06,17,33," ********<FB",0
-
- DC.B "T",07,19,01,"Choix des sous-menus:",0
- DC.B "W",03,21,01,01,15,3
- DC.B "T",01,21,01,">Réglage du niveau d'entrée",0
- DC.B "W",03,23,01,01,15,2
- DC.B "T",01,23,01,">Réglage du niveau de sortie",0
- DC.B "W",03,25,01,01,15,1
- DC.B "T",01,25,01,">Réglage de la fréquence",0
- DC.B "W",03,27,01,01,15,17
- DC.B "T",06,27,01,">Opérations sur le block",0
-
- DC.B "T",07,19,19,"Fonctions du digitaliseur:",0
-
- DC.B "W",03,21,19,01,3,5
- DC.B "T",01,21,19,"JOUE",0
- DC.B "W",03,21,23,01,3,4
- DC.B "T",01,21,23,"ENR.",0
- DC.B "W",03,23,19,01,3,13
- DC.B "T",06,23,19,"JOUE",0
- DC.B "W",03,23,23,01,3,14
- DC.B "T",06,23,23,"ENR.",0
- DC.B "W",03,21,27,01,4,6
- LLOOP: DC.B "T",05,21,27,"BOUCLE",0
- DC.B "W",03,21,32,1,5,7
- DC.B "T",01,21,32,"OSCILLO.",0
-
- DC.B "W",03,16,7,01,7,9
- DC.B "T",01,16,7,"TOUTE LA RAM",0
-
- DC.B "W",03,17,7,01,7,18
- DC.B "T",06,17,7,"QUE LE BLOCK",0
-
- DC.B "W",03,16,26,01,7,10
- DC.B "T",01,16,26,"ANCIEN ZOOM",0
-
-
- DC.B "W",03,23,27,01,4,20
- DC.B "T",06,23,27,"CHARGE",0
-
- DC.B "W",03,25,27,01,4,22
- DC.B "T",06,25,27,"EFFACE",0
-
- DC.B "W",03,23,32,01,4,19
- DC.B "T",06,23,32,"SAUVE",0
-
- DC.B "W",03,25,32,01,4,21
- DC.B "T",06,25,32,"EXPORT",0
-
-
- DC.B "T",07,25,19,"Divers:",0
-
-
- DC.B "W",03,27,19,01,6,16
- DC.B "T",08,27,19,"REPERTOIRE",0
-
- DC.B "W",03,27,26,01,4,15
- DC.B "T",08,27,26,"R.A.Z.",0
-
- DC.B "W",03,27,31,01,4,0
- DC.B "T",08,27,31,"QUITTE",0
-
-
- DC.B "T",07,28,33,"Saturation",0
- DC.B "T",14,29,32,"Gauche",0
- DC.B "T",15,29,36,"Droite",0
-
- DC.B "*"
- EVEN
- ********************************************************************************
- FREQUENCE_MW: *Type/Color/coordonnées/paramètre
- DC.L "FRQ!"
- DC.B "B",02,02,33,19,07
- DC.B "B",03,01,32,19,07
- DC.B "W",02,02,33,1,5,1
- DC.B "W",02,04,33,1,5,2
- DC.B "W",02,06,33,1,5,3
- DC.B "W",02,08,33,1,5,4
- DC.B "W",02,10,33,1,5,5
- DC.B "W",02,12,33,1,5,7
- DC.B "W",02,14,33,1,5,9
- DC.B "W",02,16,33,1,5,11
- DC.B "W",02,18,33,1,5,-1
- DC.B "T",01,02,33,"49170 Hz",0
- DC.B "T",01,04,33,"32780 Hz",0
- DC.B "T",01,06,33,"24585 Hz",0
- DC.B "T",01,08,33,"19668 Hz",0
- DC.B "T",01,10,33,"16390 Hz",0
- DC.B "T",01,12,33,"12292 Hz",0
- DC.B "T",01,14,33," 9834 Hz",0
- DC.B "T",01,16,33," 8195 Hz",0
- DC.B "T",06,18,33,"-RETOUR-",0
- DC.B "*"
- EVEN
- ********************************************************************************
- OUTPUT1_MW: *Type/Color/coordonnées/paramètre
- DC.L "OUT1"
- DC.B "B",02,02,24,08,16
- DC.B "B",03,01,23,08,16
- DC.B "T",07,02,24," Atténuation de la sortie",0
- DC.B "T",01,04,25,"Gauche Droite",0
- DC.B "W",02,05,24,01,01,1
- DC.B "B",04,05,26,01,02
- DC.B "W",02,05,29,01,01,2
- DC.B "W",02,05,32,01,01,3
- DC.B "B",04,05,34,01,02
- DC.B "W",02,05,37,01,01,4
- CVT1: DC.B "T",01,05,23," -1 00 +1 -1 00 +1",0
- DC.B "W",02,07,29,01,04,-1
- DC.B "T",06,07,28," -Retour-",0
- DC.B "*"
- EVEN
- OUTPUT2_MW: *Type/Color/coordonnées/paramètre
- DC.L "OUT2"
- DC.B "B",03,05,24,02,15
- DC.B "W",02,05,24,01,01,1
- DC.B "B",04,05,26,01,02
- DC.B "W",02,05,29,01,01,2
- DC.B "W",02,05,32,01,01,3
- DC.B "B",04,05,34,01,02
- DC.B "W",02,05,37,01,01,4
- CVT2: DC.B "T",01,05,23," -1 00 +1 -1 00 +1",0
- DC.B "W",02,07,29,01,04,-1
- DC.B "T",06,07,28," -Retour-",0
- DC.B "*"
- EVEN
- ********************************************************************************
- INPUT1_MW: *Type/Color/coordonnées/paramètre
- DC.L "IN1!"
- DC.B "B",02,02,24,08,16
- DC.B "B",03,01,23,08,16
- DC.B "T",07,02,24,"Amplification de l'entrée",0
- DC.B "T",01,04,25,"Gauche Droite",0
- DC.B "W",02,05,24,01,01,1
- DC.B "B",14,05,26,01,02
- DC.B "W",02,05,29,01,01,2
- DC.B "W",02,05,32,01,01,3
- DC.B "B",15,05,34,01,02
- DC.B "W",02,05,37,01,01,4
- CVT3: DC.B "T",01,05,23," -1 00 +1 -1 00 +1",0
- DC.B "W",02,07,24,01,06,0
- FAUTO1: DC.B "T",05,07,23," Automatique!",0
- DC.B "W",02,07,32,01,06,-1
- DC.B "T",06,07,32," -Retour-",0
- DC.B "*"
- EVEN
- INPUT2_MW: *Type/Color/coordonnées/paramètre
- DC.L "IN2!"
- DC.B "B",03,05,24,04,15
- DC.B "W",02,05,24,01,01,1
- DC.B "B",14,05,26,01,02
- DC.B "W",02,05,29,01,01,2
- DC.B "W",02,05,32,01,01,3
- DC.B "B",15,05,34,01,02
- DC.B "W",02,05,37,01,01,4
- CVT4: DC.B "T",01,05,23," -1 00 +1 -1 00 +1",0
- DC.B "W",02,07,24,01,06,0
- FAUTO2: DC.B "T",05,07,23," Automatique!",0
- DC.B "W",02,07,32,01,06,-1
- DC.B "T",06,07,32," -Retour-",0
- DC.B "*"
- EVEN
- ********************************************************************************
- BLOCK_MW: *Type/Color/coordonnées/paramètre
- DC.L "BLK!"
- DC.B "B",02,02,28,13,12
- DC.B "B",03,01,27,13,12
- DC.B "T",07,02,28,"Traitement du block",0
- DC.B "W",02,04,29,01,08,1
- DC.B "T",01,04,28," Volume maximum",0
- DC.B "W",02,06,29,01,08,3
- DC.B "T",01,06,28," Inversion",0
- DC.B "W",02,08,29,01,08,4
- DC.B "T",01,08,28," Enlever",0
- DC.B "W",02,10,29,01,08,5
- DC.B "T",01,10,28," Effacement",0
- DC.B "W",02,12,29,01,08,0
- DC.B "T",06,12,28," -Retour-",0
- DC.B "*"
- EVEN
- ********************************************************************************
- CONVERT: DC.B "0123456789"
- EVEN
- ********************************************************************************
- DMA_AUTO: DC.B 0
- DMA_FREQ: DC.B 1
- DMA_OUTPUT_L: DC.B 5
- DMA_OUTPUT_R: DC.B 5
- DMA_INPUT_L: DC.B 10
- DMA_INPUT_R: DC.B 10
- EVEN
- ********************************************************************************
- ERROR_TXT: DC.B 27,"E",27,"f",27,"p"
- DC.B "Une erreur s'est produite durant",13,10
- DC.B "l'initialisation (réservation de",13,10
- DC.B "la mémoire GEMDOS). ",13,10
- DC.B " <ABANDON!>",13,10
- DC.B 7,27,"q",0
- EVEN
- PATH_ERROR_TXT: DC.B 13,10,10,10,27,"p"
- DC.B "Le répertoire spécifié n'est pas",13,10
- DC.B "valide. Utiliser un répertoire",13,10
- DC.B "général (Ex: A:\*.*) ou vérifier",13,10
- DC.B "que l'unité est prête. ",13,10
- DC.B " <RECOMMENCER!>",13,10
- DC.B 7,27,"q",0
- EVEN
-
- NOTHING_TXT: DC.B 27,"E",27,"p"
- DC.B "Il n'y a pas de fichier avec les",13,10
- DC.B "paramètres (le répertoire et le",13,10
- DC.B "masque) spécifiés. ",13,10
- DC.B " <ABANDON!>",13,10
- DC.B 7,27,"q",0
- EVEN
-
- SAVE_ERROR_TXT: DC.B 27,"E",27,"p"
- DC.B "Une erreur s'est produite durant",13,10
- DC.B "la sauvegarde du fichier. ",13,10
- DC.B " <ABANDON!>",13,10
- DC.B 7,27,"q",0
- EVEN
-
- LOAD_ERROR_TXT: DC.B 27,"E",27,"p"
- DC.B "Une erreur s'est produite durant",13,10
- DC.B "le chargement du fichier. ",13,10
- DC.B " <ABANDON!>",13,10
- DC.B 7,27,"q",0
- EVEN
-
-
- DELETE_ERROR_TXT:
- DC.B 27,"E",27,"p"
- DC.B "Une erreur s'est produite durant",13,10
- DC.B "la destruction du fichier. ",13,10
- DC.B " <ABANDON!>",13,10
- DC.B 7,27,"q",0
- EVEN
- ********************************************************************************
- BACKUP_TXT: DC.B 27,"E",27,"p"
- DC.B "********************************",13,10
- DC.B "* SWAPPING DU BLOC SUR L'UNITÉ *",13,10
- DC.B "********************************",13,10
- DC.B 7,27,"q",0
- EVEN
- ********************************************************************************
- PATH_ENT: DC.B 27,"e",27,"E"
- DC.B "***************************************",13,10
- DC.B "* SELECTION DU RÉPERTOIRE DE TRAVAIL: *",13,10
- DC.B "***************************************",13,10,10
- DC.B "VOICI LE CHEMIN ET LE MASQUE ACTUELS:",13,10,0
- EVEN
- FNAME_ENT: DC.B 27,"e",27,"E"
- DC.B "**********************************************",13,10
- DC.B "* SELECTION DU NOM DU FICHIER DE SAUVEGARDE: *",13,10
- DC.B "**********************************************",13,10,10
- DC.B "VOICI LE NOM ACTUEL:",13,10,0
- EVEN
- PATH_TXT: DC.B 13,10,10,"ENTREZ LE NOUVEAU CHEMIN ET LE MASQUE (C:\SAMPLES\*.*) OU RIEN POUR ANNULER:",13,10,0
- EVEN
- FNAME_TXT: DC.B 13,10,10,"ENTREZ LE NOUVEAU NOM (Ex: BOUM.SON) OU RIEN POUR GARDER LE NOM PAR DÉFAUT:",13,10,0
- EVEN
- SELECTEUR: DC.B 27,"f",27,"E"
- DC.B "-{[+],[-]&FLECHES:BOUGER ~ [ENTREE]:CHOISIR ~ [ECHAP]:ANNULE ~ [ESPACE]:RELIRE}-",13,10
- DC.B 27,"p",0
- EVEN
- POS_TXT: DC.B 27,"Y"
- Y_TXT: DC.B 32
- X_TXT: DC.B 33,27,"q","|",0
- EVEN
- SEL_TXT: DC.B 27,"Y"
- Y_POS: DC.B 32+2
- X_POS: DC.B 32
- TXT_POS: DC.B ">",27,"D",27,"e",0
- EVEN
- ********************************************************************************
- FBACKUP: DC.B "ABCDEFGH.IJK",0
- EVEN
- ********************************************************************************
- SECTION BSS
- ********************************************************************************
- HZOOM: DS.L 2*32
- ********************************************************************************
- O_GAUCHE: DS.L 640
- ********************************************************************************
- MEMORY_START: DS.L 1
- MEMORY_LENGHT: DS.L 1
- START: DS.L 1
- END: DS.L 1
- FLOOP: DS.W 1
- BLSTART: DS.L 1
- BLEND: DS.L 1
- ********************************************************************************
- KEY: DS.W 1
- FMOUSE: DS.W 1
- BOUTON: DS.W 1
- MOUSEX: DS.W 1
- MOUSEY: DS.W 1
- EXMOUSE: DS.L 1
- ********************************************************************************
- ECR: DS.L 1
- FCHK: DS.W 1
- FVBL: DS.W 1
- ********************************************************************************
- * ROUTINES INITIALISATION/RESTITUTION
- SAVE_ALL: DS.L 511
- NEW_SP: DS.L 1
- OLD_SP: DS.L 0
- CRASH_TEST: DS.L 1
- RESOL: DS.B 64
- PALETTE: DS.L 256
- ********************************************************************************
- ACTUAL: DS.L 1
- NB_BOUTONS_MW: DS.L 1
- BOUTONS_MW: DS.B 1024
- ********************************************************************************
- SPRITE: DS.W 16*16*4
- BACK_SPR: DS.W 16*2*4
- ECRAN: DS.B (480*320)+256
- EFF_BUFFER1: DS.L 2*640
- EFF_BUFFER2: DS.L 2*640
- ********************************************************************************
- HANDLE: DS.W 1
- PATH: DS.B 128-16
- FNAME: DS.B 168
- FILE_NAME: DS.B 128
- STARTBIS: DS.W 1
- DTA: DS.B 44
- DIR: DS.B 16*NBR_FIC
- ********************************************************************************
- RETURN: DS.W 1
- ********************************************************************************
- DS.W 127
- NEW_USP: DS.W 1
- END
-